locked
SkyDrive API Limitations (File Format Support) RRS feed

  • Question

  • I was wondering why the Zip (or any other archive format) is not supported in Skydrive.
    I'm trying to make an efficient backup solution by archiving my data which makes it alot smaller before uploading it, but the API gives an unsupported format error.
    What's the reason behind blocking this and is there going to be a change regarding this any time? especially because i can upload Zip files to my skydrive through my desktop,
    through the Skydrive web interface....
    Monday, March 5, 2012 11:05 PM

All replies

  • I posted your question to an internal email distribution list. 
    [Edited] 
    I collaborated with the Live SDK team management.

    The Live SDK was developed for the specific usage scenarios described in the developer guidelines here.

    SkyDrive is not intended to be a free backup solution for applications. Any attempts to use it as such is outside of the intended use of the service and the restrictions present in the API are intended to reinforce this. Any apps that do this are at risk of being rejected from Marketplace, or pulled from Marketplace at a later time.

    SkyDrive APIs only support apps that enable document and photo sharing scenarios which is the express purpose of the service.

    Hope this helps,
    Mark
    Wednesday, March 7, 2012 8:42 PM
  • Is this policy being updated any soon? Because if you give X storage to anyone you should let anyone decide how to use their storage. That's how Dropbox, Google Drive and other competitors work.

    Besides, anyone could bypass this limitation by just making any PC app to export files to the synced folder of the SkyDrive desktop client, and then it goes uploaded up to SkyDrive including ZIPs and any other file type. No restrictions there so no sense in limiting the 3rd party side. it is pointless, just like this http://social.msdn.microsoft.com/Forums/en-PH/messengerconnect/thread/5baa11b8-efcd-4163-8c02-b1b3dd68e8f3
    Saturday, May 19, 2012 5:21 PM
  • Hi,
    This is a topic that has been actively discussed internally, and aspects of it are being considered for use in future version(s) of the Phone.
    As usual, new features won't be reported until after they are released to the public.

    And you can make more specific suggestions at uservoice.

    - Mark

    Monday, May 21, 2012 5:51 PM
  • Very, very disappointing :(
    Thursday, May 31, 2012 12:00 AM
  • SkyDrive has recently been updated. Is there any change in this policy? We are working on a rather big and high visibility application that stores tons of user-entered data, and backup is critical.
    We don't need new features, just the ability to upload a few files of our own choice to the user's own SkyDrive account.

    Thanks,
    András Velvárt
    Microsoft MVP
    Monday, July 2, 2012 11:29 AM
  • Hi András,

    I just checked with the SkyDrive development team. Policy has not changed.

    Regards,
    -Mark
    • Proposed as answer by Durn Durn DURN Tuesday, October 16, 2012 3:12 AM
    Monday, July 2, 2012 5:58 PM
  • > "Any apps that do this are at risk of being rejected from Marketplace, or pulled from Marketplace at a later time. "

    Mark, I have to fervently object to this. The Windows Phone certification guidelines are meant to clearly and publicly codify any reasons apps may be rejected or removed from the marketplace. Without them we end up with an obscure rejection lottery that exists in other mobile ecosystems. As SkyDrive API usage is not part of the Application Certification Guidelines I resent that team threatening app developers with expulsion from the marketplace for misuse of their API. I hope no apps has been removed from the Windows Phone marketplace under such pretense.

    We're either consistent with how apps are approved, or we're not. 

    -- Justin Angel 
    Principal Engineer for Windows Phone developer experience @ Nokia 


    Monday, July 2, 2012 6:10 PM
  • Remember that there is a Terms of Use agreement associated with the Skydrive API which any developer of an application using that API must respect. This is true of just about any API/service/etc from any company. There is also an Application Provider Agreement that any developer of an application submitted to the Marketplace must respect. If the keepers of any API/service/etc believe that your application is in violation of their Terms of Use, they can petition to the keepers of the Marketplace to have your application removed. The fact that both keepers in this case happen to be Microsoft is coincidental. Anyone submitting WP7 applications using the Skydrive API is bound by both of those agreements.

    Be sure to read, understand, and follow all instructions before using any power tools...


    Monday, July 2, 2012 6:42 PM
  • I've come to terms with the fact that the SkyDrive team has chosen the path they are currently on. Since there are more competitors of online storage, both free and paid versions of it, I find it very (I Won't be using the word I had in mind) unfortunate that they want to limit themselves on the market and therefore limit themselves to become a leader in cloud storage in every meaning of the word. Therefore in my Apps I have implemented multiple backup solutions for different clouds. If the SkyDrive team doesn't want to step out of the box into a world of possibilities,especially for developers, then so be it.., enough players to pick from. Gotta love the competitive market :-)


    Also glad to see Justin Angel from the Nokia team on this forum :-). Can you guys please give me long lasting battery life for the lumia series so that I can switch all our company phones from HTC to Nokia :-)





    Monday, July 2, 2012 7:21 PM
  • Sorry for my bad English. I have read all posts above, and also the guidelines, but I'm not 100% sure If I understand it correctly.

    Is it true that I cannot automatically backup app data to SkyDrive, but I can allow the end users to manually click a button to do each backup/restore? I mean can I use the method described in the following article?

    Developers: Use SkyDrive to Backup App Data

    Monday, July 2, 2012 8:16 PM
  • Hi Yang Lee,

    Technically it is possible to use SkyDrive to backup just about any data type (by renaming the file extension etc.).  But such usage might be going outside of the intended use of the service as scoped by the SkyDrive team. One concern I could imagine them to have is that applications might attempt to use Skydrive to back up huge amounts of random data, potentially compromising their server capacity and/or performance.

    Quoted from the policy:

    ---
    Use SkyDrive for the things that it’s good at. SkyDrive includes features both for high-quality document viewing and editing, and for creating and sharing beautiful photo albums. If possible, have your apps take advantage of these features. To support this principle, the Live Connect APIs limit the set of file formats that apps can upload to SkyDrive. In general, if your apps store file formats that are understood only by those apps, those file formats don’t belong on SkyDrive.
    ---

    I think the verbiage is a little unclear. In the last sentence, "those apps" refer to your specific apps.

    The policy also clearly indicates that the upload needs to occur in response to an explicit user request or choice.

    Hope this helps,
    Mark


    Monday, July 2, 2012 8:58 PM
  • Hi Mark, thanks for your reply.

    One last question to ensure I understand correctly, and don't accidentally violate the policy in my app. I'm going to publish my first app in 4 weeks. It's a sleep management app.

    The data I want to upload are:
    * A csv file that contains the history records (it can be stored in a plain text file, which is supported by SkyDrive according to the guidelines);
    * SQL Server Compact database file (NOT supported by SkyDrive according to the guidelines);

    Both csv file and sdf files are small in size (a few hundred KB to several MB).

    If I understand correctly, I can let the users to upload the csv file but NOT the sdf file, even if I rename the sdf file to *.txt, and the upload needs to occur in response to an explicit user request or choice.

    Is my understanding correct?

    Thanks
    Yang Lee

    Edit: Changed contents for better description. Fixed some grammar & spelling mistakes.

    Monday, July 2, 2012 10:59 PM
  • Hi Yang Lee,

    I obtained a little further clarification.

    The goal of the policy is to avoid the scenario whereby a user’s personal cloud storage doesn’t end up overwhelmed with a collection of non-human readable content, that is the equivalent of computer files such as INI and XML config files.

    I will let you know if and when I learn more.

    Hope this helps,
    Mark
    Tuesday, July 3, 2012 4:01 PM
  • The goal of the policy is to avoid the scenario whereby a user’s personal cloud storage doesn’t end up overwhelmed with a collection of non-human readable content, that is the equivalent of computer files such as INI and XML config files.

    Thanks Mark, that helps clear up my confusion about how to use SkyDrive in my app.

    Best regards,
    Yang Lee
    Tuesday, July 3, 2012 8:03 PM
  • Hi Mark,

    "if your apps store file formats that are understood only by those apps, those file formats don’t belong on SkyDrive"

    I understand what you are trying to do here, but if you are not going to allow open access to all file formats in the same way as other cloud storage API's do, then you really need to expand you current list of files that don't fall under the "file formats that are understood only by those apps" umbrella.  My app 'Pocket Plans' is the only CAD app for WP7 and reads DWFx files.  This is a widely supported file format but is not in your list off supported file formats and therefore cannot join the party.  I have had a reviewer give me 1 star just because I didn't support SkyDrive - that's how much people expect their phones to 'just work', and the limitations imposed by the API are what's causing this frustration from users (and ultimately developers).  You give them Skydrive for their files > we give them apps for using those files > you stop us from accessing those files > we stop developing with Skydrive.

    It might be worth looking at the number of apps with GDocs and Dropbox integration compared to Skydrive to see how much this is costing you.

    I really hope you guys are able to expand white list - I mean it's gotta just be streams of data with mime types and a filter right?

    Michael
    Monday, July 16, 2012 6:10 PM
  • The SkyDrive folks are completely separate from the team that does WP7. And, in fact, SkyDrive has nothing that is specific to WP7. The SkyDrive "limitations" apply to ALL users of the API, regardless of whether it's on WP7, Android, iPhone, web services, or anything else.

    You might want to voice your opinions in the Live Connect Forums, instead.

    Monday, July 16, 2012 7:00 PM
  • Yes David, I understand this.  My point has nothing to do with wp7 other than that I'm using my app as an expample because it's the only one I have, it's not to say that wp7 developers are the only ones affected by this constraint.  Even if I was developing this same app for the iPhone or my dishwasher, the limits of the API are that it is supposed to support 'documents', and white list is much too restrictive for that to be true.  Thanks for the link though - I'll post there too.
    Monday, July 16, 2012 7:44 PM
  • Yes David, I understand this.

    Too many people don't. There seems to be an attitude that, if there is something they want to do on their WP7 and can't, it must be the WP7 and posting here is the way to get it resolved or at least be heard. While that may often be the case, the reality is that many of the problems people have are not with the WP7, but with the service they are trying to use, and the cause and possible solution lies there.
    Monday, July 16, 2012 8:06 PM
  • Microsoft is one company; all its parts need to come together for an improved developer experience if anyone is expecting to compete in the mobile app market. Right now I am discovering that SkyDrive has limitations which force me to consider other options (dropbox). I don’t want to go there, but I am not given much of a choice. Microsoft is losing the opportunity here.

    Thursday, July 19, 2012 8:48 PM
  • @Mark - If we have a high volume application where we'd like to get clarification on whether it does or doesn't conform to the SkyDrive API usage restrictions, can you suggest any contact(s) at Microsoft that we could ask.

    Thanks,
    Bret
    Monday, July 23, 2012 10:55 PM
  • I've had lots of users that :
    a) Want to back up settings to SkyDrive
    b) Want to use SkyDrive to syncronise settings between the wp7 version of the app, and the win8 version.

    They've paid for the app, they've paid for the storage space on SkyDrive... yet Microsoft are saying this isn't allowed?
    Tuesday, July 24, 2012 11:15 AM
  • I think bringing Windows 8 into this is going to cause confusion.

    Primarily because..
    • Windows 8 already has support for Roaming Folder / Roaming Settings
    • Windows Phone 8 should have something similar.

    Windows Phone 7 in the mean is between a rock and a hard place.

    Tuesday, July 24, 2012 11:18 AM
  • I think bringing Windows 8 into this is going to cause confusion.

    Primarily because..
    • Windows 8 already has support for Roaming Folder / Roaming Settings
    • Windows Phone 8 should have something similar.

    Windows Phone 7 in the mean is between a rock and a hard place.


    Given that Windows Phone 7 users aren't going to be upgraded to Windows Phone 8, I don't think it's an edge case to expect Windows 8 users to have Windows Phone 7?
    Tuesday, July 24, 2012 11:22 AM
  • Whilst there is a possibility that WP7.8 update might bring something similar - I personally wouldn't hold my breath..

    Since WP7 user base itself is an edge case (hence the reason to not back port - assumption for the lack of info). I think various teams have already considered this.
    Tuesday, July 24, 2012 11:34 AM
  • Until the golden Windows Phone 8 is in every one of my users' hands and it has Roaming Settings (that aren't as f'd up to deal with as ApplicationSettings are in WP7), I'll continue backing up to SkyDrive.
    I've already offered the community a way to mitigate against the possibility of a user's SkyDrive getting cluttered up that I'm hoping starts to gain some real traction.

    I 110% agree w/ Justin Angel on this. It's a conflict of interest for MS to deny marketplace acceptance because they have inside knowledge of SkyDrive and what a developer is doing with it. If Google Drive had same policy and I was doing this, it wouldn't preclude marketplace acceptance. It's no different than apps like Add to Contacts which use Bing's search results against the ToS of the Bing API.
    Furthermore, there are dozens of apps out there that backup to SkyDrive already, so either the statement that certification will be denied is patently false (and FUD), or once again MS groups aren't talking to each other. Policies like this just serve to prove to me that the Redmond Reality Distortion Field is still in full effect.

    Unfortunately.
    Tuesday, July 24, 2012 8:49 PM
  • Hi Yang Lee,

    Technically it is possible to use SkyDrive to backup just about any data type (by renaming the file extension etc.).  But such usage might be going outside of the intended use of the service as scoped by the SkyDrive team. One concern I could imagine them to have is that applications might attempt to use Skydrive to back up huge amounts of random data, potentially compromising their server capacity and/or performance.

    Quoted from the policy:

    ---
    Use SkyDrive for the things that it’s good at. SkyDrive includes features both for high-quality document viewing and editing, and for creating and sharing beautiful photo albums. If possible, have your apps take advantage of these features. To support this principle, the Live Connect APIs limit the set of file formats that apps can upload to SkyDrive. In general, if your apps store file formats that are understood only by those apps, those file formats don’t belong on SkyDrive.
    ---

    I think the verbiage is a little unclear. In the last sentence, "those apps" refer to your specific apps.

    The policy also clearly indicates that the upload needs to occur in response to an explicit user request or choice.

    Hope this helps,
    Mark



    SkyDrive doesn't recognize HD video (720p) taken on Microsoft's own Windows Phones as video objects
    SkyDrive doesn't recognize MP3 files as Audio files
    The SkyDrive API can't handle a 30mb file or it crashes with an OutOfMemoryException.

    SkyDrive has built-in checks on user quotas (and furnishes that data to developers via the API) so couple that with the 3rd point above, and the FUD of "compromising server capacity and/or performance" is just that. FUD.

    I'll start using SkyDrive for what it's good at when you do. Whether or not something "belongs" is not determined by the service provider, unless you're a communist. It's determined by the User. If I want something on my SkyDrive I should be able to put it there. If I want application settings backed up to my SkyDrive, and a developer has been awesome enough to furnish me that capability, I should be able to do it.
    Tuesday, July 24, 2012 8:56 PM
  • Whether or not something "belongs" is not determined by the service provider, unless you're a communist. It's determined by the User. If I want something on my SkyDrive I should be able to put it there. If I want application settings backed up to my SkyDrive, and a developer has been awesome enough to furnish me that capability, I should be able to do it.
    Who owns SkyDrive?  Microsoft.  Who is legally liable for any files on SkyDrive?  Microsoft.  Who dictates what can and can not go on SkyDrive?  Microsoft.  Who would users blame if SkyDrive filled with random binary files that have no meaning to anyone but an app or two?  Microsoft.

    Microsoft are allowing you to use SkyDrive and in using it, you agreed to and are bound by their terms of use.  Microsoft are free to specify whatever terms of use they wish.   If you don't agree to those terms of use, don't use it.
    Wednesday, July 25, 2012 1:10 AM
  • Perhaps people should take their "feedback" where it belongs. This forums is supposed to be about developing for Windows Phone 7, not whining about SkyDrive.

    Wednesday, July 25, 2012 1:22 AM
  • Mark I understand the reasoning behind this policy, I even agree with it, as a user I don't want my SkyDrive littered with system files and folders from apps.

    You and the team have to understand that the current user data  backup situation of Windows phone is very dire. the data is highly volatile since if there was a fatal failure all data is lost on handset and the only recourse is to retrieve data from the last firmware update which could have data that is a year out of date. Current windows phones have very little internal storage and no external storage. Its not a great system for end users.

    I think the policy should be relaxed to a allow a common folder in SkyDrive for all app devs to use, at least for pre Windows Phone 8 handsets. At the very least this will keep devs happy and foster a better relationship.

    Windows phone and Microsoft need positive support and you need to meet a healthy compromise.
    • Proposed as answer by hfrmobile Tuesday, October 16, 2012 4:38 AM
    Wednesday, July 25, 2012 7:30 AM

  • I'll start using SkyDrive for what it's good at when you do. Whether or not something "belongs" is not determined by the service provider, unless you're a communist. It's determined by the User. If I want something on my SkyDrive I should be able to put it there. If I want application settings backed up to my SkyDrive, and a developer has been awesome enough to furnish me that capability, I should be able to do it.


    This kind of talk will get us nowhere. Unless you are new to Windows Phone, you must have realised that the developers themselves cannot do anything. it has to be initiated by the user. you as a user can put just about anything on skydrive. I have manually uploaded exe and msi and zip etc .. doesn't mean you can programmatically do so since it has been locked down.

    Now the question of 7GB (new quote) or 25GB available space. this is based on fair use. Most Telco give you unlimited data with a fair use clause. Hell I once got told to find another provide after 20 days of joining because I was a heavy user.. what did I do  ? download a couple of iso's from msdn. The expansion of data centers and available capacity is done on projected use. If every user suddenly upload 25GB worth of data, Microsoft would have serious projection issues. Its not communist its common sense.


    You and the team have to understand that the current user data  backup situation of Windows phone is very dire. the data is highly volatile since if there was a fatal failure all data is lost on handset and the only recourse is to retrieve data from the last firmware update which could have data that is a year out of date. Current windows phones have very little internal storage and no external storage. Its not a great system for end users.

    What are you storing on device ? is it user replaceable at the cost of inconvenience ?
    if the answer is yes we don't have an issue.

    if the answer is no and your app has a mass market, you should already have some sort of user data hosting be it account info etc. you can compress or encrypt on your end instead of relying on skydrive. what if another app overwrote the data persisted by your app on skydrive ??
    Wednesday, July 25, 2012 8:56 AM
  • Yang Leem do you get any respone from Mark yet? 
    I have the similar situation.  I understand MS does not want any unreadable file format in SkyDrive. If they allow flat text file, it will be find for most developers. 

    Kwan
    Wednesday, July 25, 2012 2:14 PM
  • Hi Kwan,

    Haven't got further information yet. Last reply from Mark:

    The goal of the policy is to avoid the scenario whereby a user’s personal cloud storage doesn’t end up overwhelmed with a collection of non-human readable content, that is the equivalent of computer files such as INI and XML config files.

    Yang

    Wednesday, July 25, 2012 2:35 PM
  • [delete]
    Wednesday, July 25, 2012 3:00 PM
  • Hi Kwan,

    Haven't got further information yet. Last reply from Mark:

    The goal of the policy is to avoid the scenario whereby a user’s personal cloud storage doesn’t end up overwhelmed with a collection of non-human readable content, that is the equivalent of computer files such as INI and XML config files.

    Yang

    Yang,
    I'm actively pursuing alternatives and fully intend to post my findings on my blog. But I feel that the proposal I put forth already does a great job of guarding against this concern and plan on using it in the meantime.
    Wednesday, July 25, 2012 3:01 PM
  • Thanks for the link BC3 Technologies,

    I previously planned to put files under [SkyDrive root]/AppData/[app name]. But I think your method is better, I now plan to put files under [SkyDrive root]/ProgramData/Yang Lee/[app name].

    Yang

    Wednesday, July 25, 2012 3:34 PM
  • Thanks for the link BC3 Technologies,

    I previously planned to put files under [SkyDrive root]/AppData/[app name]. But I think your method is better, I now plan to put files under [SkyDrive root]/ProgramData/Yang Lee/[app name].

    Yang

    glad to hear it, thanks for the vote of confidence. good luck!
    Wednesday, July 25, 2012 5:51 PM
  • More clarification from Windows Live program manager Dare Obasanjo‏@Carnage4Life:

    Though it isn't recommended to store app backups in SkyDrive via our APIs, we won't pull app if you do

    Thursday, July 26, 2012 2:38 AM
  • Perhaps people should take their "feedback" where it belongs. This forums is supposed to be about developing for Windows Phone 7, not whining about SkyDrive.

    Aren't you the confused one.  This is exactly the place for "we will pull your app if you don't follow [some non-WP related policy]" complaints.  We aren't all gamers, you know.  We have real work to do.  Silly get-off-my-lawn-unless-you-cut-it policy like this needs to be ripped open and the lack of stuffing shown for all the world to see.

    The complete lack of any sort of backup is #1 on the list of stupid Wp features.  It's crazy stupid!  Much like those who think that sort of stuff is normal.  It'not.  It's stupid.
    Thursday, July 26, 2012 8:40 AM
  • I have asked the support about this issue and they redirected me to this post .... So I have no idea what they may accept or not ...

    I am in similar situation too. I need to backup and upload database (.sdf renamed to .sdf.txt), pictures (.jpg) and a comma-delimited file (csv is not supported, then a txt)

    For the time being, I think the only alternative to store backups will use third party services (Dropbox, box.net ...) , right?
    Thursday, July 26, 2012 9:00 AM
  • Sorry I haven't the time to read all posts here.
    What's the final conclusion about the topic for WP7.x and WP8 for app-users and app-developers?

    e.g. http://wmpoweruser.com/windows-live-program-manager-reassures-developers-their-apps-will-not-be-pulled-for-backing-up-to-skydrive/
    (found this at http://www.pocketpc.ch/c/2424-microsoft-loescht-apps-skydrive-backup-nutzen.html)

    thx,
    hfrmobile
    Thursday, July 26, 2012 9:25 AM
  • The conclusion is simple

    1) T & C of Skydrive forbid you.
    2) You can go ahead and ignore that - because a twitter conversation is a binding contract
    3) Pray that your app never gets pulled
    Thursday, July 26, 2012 10:15 AM
  • Hi,
    Yes, you now have official word via Twitter that your app will not be pulled if you use SkyDrive to back up files. 

    There currently is no official word regarding best practices for structuring your folders and storing your files on Skydrive. In lieu of this, consider Brandon's suggestion in order to minimize clutter and keep SkyDrive human readable:
    http://wmpoweruser.com/windows-live-program-manager-reassures-developers-their-apps-will-not-be-pulled-for-backing-up-to-skydrive/

    -Mark
    Thursday, July 26, 2012 1:47 PM
  • Aren't you the confused one.

    Not really. There is nothing in WP7 preventing you from doing what you want. The issue is with the Skydrive policies. In the end, it was the Live Connect Team (the umbrella over Skydrive) that provided the response, not anyone with WP7.

    Thursday, July 26, 2012 2:09 PM
  • This issue has been resolved guys. No file type limitations and full picture Size uploads without auto shrinking. See the official release notes from de SkyDrive team:

    http://windowsteamblog.com/skydrive/b/skydrive/

    • Proposed as answer by michaelkavanagh Saturday, September 1, 2012 5:54 PM
    Wednesday, August 15, 2012 6:10 AM