PublishingAppsInSoftwareCenterMyApps

App Developer Week -- Publishing Your Apps in the Software Center: the MyApps Portal -- Anthony Lenton -- Tue, Sep 6th, 2011

   1 [19:00] <achuni> ok, I guess that's me :)
   2 [19:01] <achuni> Hi everybody, I'm Anthony Lenton
   3 [19:01] <achuni> I work at Canonical, in ISD.  We're the team responsible for the development of Ubuntu SSO, Ubuntu Pay, and quite a few other smaller infrastructure-related systems
   4 [19:01] <achuni> Within ISD I'm leading the team that is in charge of the Software Center Server
   5 === Andy80-Owl is now known as Andy80
   6 [19:02] <achuni> that includes ratings and reviews, the software center agent, and the MyApps portal
   7 [19:02] <achuni> ... for those of you that are unfamiliar with the MyApps portal, it's what sits at https://myapps.developer.ubuntu.com/
   8 [19:02] <achuni> we're currently in public beta, so you can create an account and play around with it
   9 [19:02] <achuni> (please let us know what breaks! :) )
  10 [19:03] <achuni> also, apologies up front if I incorrectly call MyApps "the devportal" or "the developer portal"
  11 [19:03] <achuni> We started clalling it that during development, hence the name of the project on Launchpad, https://launchpad.net/developer-portal
  12 [19:04] <achuni> Clearly *the* developer portal is developer.ubuntu.com, this awesome bucket of knowledge dpm and johnoxton are going to tell us all about right here on Thursday at 16UTC
  13 [19:04] <achuni> MyApps is the part of developer.ubuntu.com that takes care of the submission workflow to get your apps published in the Ubuntu Software Center
  14 [19:04] <achuni> so... my plan is to tell you a bit of the story of MyApps, and go over the current workflow
  15 [19:05] <achuni> then tell you a bit about the most immediate milestones in our roadmap, and answer a few questions
  16 [19:05] <achuni> (yay, none so far :) )
  17 [19:06] <achuni> We started with myapps after UDS-N, end of last year-ish, as a way to make it easier for developers to get their (paid) apps into USC
  18 [19:06] <achuni> we had already had for-purchase apps in USC for just over six months by then
  19 [19:06] <achuni> and we still had only a bunch of (not quite 10 iirc) apps available for purchase
  20 [19:07] <achuni> Adding new apps was a painfully manual process, for all parts involved.
  21 [19:07] <achuni> Contacting and arranging an agreement with the developer was done manually, they'd send us the app somehow and we'd manually package it up
  22 [19:07] <achuni> A sysadmin would then manually make it available for sale.  Canonical's finance department would get a monthly report of sales and (manually!) send developers the right amount of money
  23 [19:08] <achuni> We knew if we wanted to make this scale to tens of thousands of apps, we would need to remove all or as many as possible of the manual steps in this process.
  24 [19:09] <achuni> so, what's up on https://myapps.developer.ubuntu.com/ is what we currently have.  There's still quite a few of manual pieces involved
  25 [19:09] <achuni> but the plan is to get it fully automated in the future
  26 [19:09] <achuni> Once you've created an account and accepted the terms of service on that site, you can go straight in and submit an application for review
  27 [19:10] <achuni> (not sure if it's best for you to do that now, this was going to be a more of a hands-on session but in the end it's more of a talk-and-screenshots session :) )
  28 [19:10] <achuni> anyway...
  29 [19:10] <achuni> The submission workflow currently has five steps (or six, depending on how you count)
  30 [19:11] <achuni>  - basic details of your app (name, tagline, price, and upload the actual code)
  31 [19:11] <achuni> - Finding your app (description, keywords, and in which USC department it belongs)
  32 [19:11] <achuni> (  USC is Ubuntu Software Center there ^)
  33 [19:11] <achuni> - Showing your app (Screenshot and icons)
  34 [19:12] <achuni> - License and support (Type of license and support url)
  35 [19:12] <achuni> (Ok, yes, these had no real reason to be together in the workflow)
  36 [19:12] <achuni> - Getting paid (your paypal email, phone number and a postal address for contacting you at)
  37 [19:13] <achuni> After that, the sixth step would be to just check the details and submit the app for review.
  38 [19:13] <ClassBot> bulldog98 asked: when will it be possible to use a Qt based SSO
  39 [19:14] <achuni> bulldog98: hm you mean like the current ubuntu-sso-client that's gtk only? I don't know of a project that does that
  40 [19:14] <achuni> bulldog98: sso provides an api, the current gtk client was developed by U1 because it suited them best, but you can also use the API directly
  41 [19:16] <achuni> bulldog98: I'm not sure how the different bits ussoc does would map to Qt, but it shouldn't be impossible to write such a client at the moment already
  42 [19:16] <achuni> bulldog98: but I'm afraid I don't know of a project for doing that atm
  43 [19:16] <ClassBot> shazzner75 asked: Any chance for alternate payment methods? Google Checkout, etc?
  44 [19:17] <achuni> shazzner75: for purchasing apps, or for paying developers?  there are plans to add new payment methods for both, but a bit longer term  :)
  45 [19:18] <achuni> not sure if Google Checkout is on the roadmap
  46 [19:18] <achuni> anyway, this is what you'd see when you finish providing the details for your app:
  47 [19:18] <achuni> http://ubuntuone.com/6FfqFGgGnNucVS6PiBma7T
  48 [19:19] <achuni> When you submit an app for review, application reviewers are notified via email currently.  They'll pick it up pretty soon
  49 [19:19] <achuni> Packaging the app is still carried out manually at the moment
  50 [19:20] <achuni> Though as jml mentioned yesterday, we're working on integrating pkgme that should automate most of that process
  51 [19:20] <achuni> Once the application has been reviewed and uploaded we do some basic QA to ensure that, if it's made public, purchases will go smoothly and the app will launch successfully when installed.
  52 [19:21] <achuni> This isn't intended to be QA of the application itself (beyond checking that some app actually launches), though very often we get feedback on the app itself during QA.
  53 [19:21] <achuni> If at any point the reviewer has some question, or there's some missing bit of information in the app, the app will be passed back to the developer as "Needs Information".  You can then modify your app with the right information, and resubmit for review
  54 [19:22] <achuni> You can always see the full review feedback history for an app in the "Feedback" tab
  55 [19:22] <achuni> (screenshot coming...)
  56 [19:22] <achuni> http://ubuntuone.com/3bVuC7ZqIGEtTiXpe65zBb
  57 [19:22] <achuni> So, assuming the application passes review, the app is *still* not automatically published in USC.
  58 [19:22] <achuni> It's flagged as "Ready to publish", and you (the developer) can then decide when it actually goes public.
  59 [19:23] <achuni> http://ubuntuone.com/7b97CAI3581sVHg6XpIHw8
  60 [19:23] <achuni> When the developer clicks "Publish" it's made public immediately, except for caching in the api and USC.
  61 [19:23] <achuni> But it'll be really live and out there in USC worldwide in a few minutes.
  62 [19:24] <achuni> The developer can also decide to unpublish an app at will once it's made public.  This will remove the application from USC immediately so taht nobody else can purchase it
  63 [19:24] <achuni> Users that have already purchased *will* still be able to download and/or reinstall the app.
  64 [19:24] <achuni> Also, at any point, you can look at the sales information for your app in the "Metrics" tab
  65 [19:24] <achuni> http://ubuntuone.com/0bbI5tMJ11HSnWJOooxk5N
  66 [19:25] <achuni> So... upcoming features and things we're working on:
  67 [19:25] <achuni> - Reviewer notes! At the moment you can't provide notes for the application reviewer along with the app
  68 [19:25] <achuni> yep, silly, but we're on it :)
  69 [19:26] <achuni> - pkgme integration.  This is the automated packaging that jml went into details about yesterday.
  70 [19:26] <achuni> That'll be *great* to have as packaging the app is one honking big piece of manual work that's still necessary
  71 [19:26] <achuni> and we need to rely on the developer to provide packaging files, or the reviewer has to create them from scratch every time
  72 [19:27] <achuni> - ARB integration.  In the future free (libre and gratis) apps that are currently being reviewed by the Application Review Board will also be submitted through MyApps.
  73 [19:27] <achuni> This will make things clearer, simpler and generally better for developers as you'll have a single place to submit your apps for publishing in USC.
  74 [19:28] <achuni> Stay tuned for stgraber's session about the ARB, coming up next :)
  75 [19:28] <stgraber> yeah!
  76 [19:28] <achuni> :D
  77 [19:29] <achuni> - license key infrastructure.  ...
  78 [19:29] <achuni> this is almost a topic for another talk, but in a nutshell, you'll be able to provide batches of keys for your app
  79 [19:29] <achuni> those will be served up one per purchase, and stored in a file locally for your application to check
  80 [19:30] <ClassBot> shazzner75 asked: how do updates work? ie. developer pushes out new version, will it be available immediately or next Ubuntu cycle? What about free/libre apps?
  81 [19:30] <achuni> shazzner75: so, we're still figuring out some of the details, but you don't need to wait for the next Ubuntu cycle
  82 [19:31] <achuni> I mean, new versions are easier: they go through review as usual, and as soon as the reviewer uploads the fix, anybody that's purchased the app will get the update with the next batch of updates
  83 [19:32] <achuni> when a new Ubuntu cycle comes along, the app will be repackaged for this new distroseries, and uploaded, so people that have purchased the app should still have it when they upgrade
  84 [19:33] <achuni> (the bit that's tricky is apps that work in one version of Ubuntu but not in the next.  currently those users will be update-less until the app is fixed for the new release)
  85 [19:34] <achuni> wow, and that's about it.
  86 [19:35] <achuni> so, the upcoming plan is to fix bugs, polish and add awesomeness.
  87 [19:35] <achuni> be sure to tune in for dpm's and johnoxton's session on Thursday about the general developer.ubuntu.com portal
  88 [19:35] <achuni> ...and jpugh's session on Friday for any questions about the business side of things.
  89 [19:36] <achuni> Questions?
  90 [19:37] <ClassBot> shazzner75 asked: Can you specify things like system requirements? (like for 3d games)
  91 [19:38] <achuni> shazzner75: so, currently the only way to do this is to include a debian control file with your code
  92 [19:39] <achuni> shazzner75: the grand plan is to allow you to do that in a friendlier way that works well with pkgme
  93 [19:39] <achuni> so pkgme will "guess" your system dependencies
  94 [19:39] <achuni> ah, you mean *system* dependencies
  95 [19:39] <achuni> hm... :)
  96 [19:40] <achuni> not that I know of, not currently, but that would be quite interesting
  97 [19:40] <achuni> I mean, software-center would need to perform the checks on the user's box, but it would make sense
  98 [19:41] <achuni> shazzner75: right, as in "at least so much RAM", or "these graphic cards aren't supported"
  99 [19:41] <achuni> shazzner75: so far we've seen comments about system requirements in the application descriptions
 100 [19:42] <achuni> shazzner75: but the system doesn't allow you to specify those in a more structured manner I'm afraid
 101 [19:42] <achuni> (...yet! :) )
 102 [19:45] <ClassBot> shazzner75 asked: since I'm asking questions here, is there any policy about android-like usage of user-data or resources? (notifications, email, connects to web, etc)
 103 [19:46] <achuni> shazzner75:  I'm not really aware of the android policy... I'd pop that question at jpugh on his Friday session
 104 [19:49] <ClassBot> shazzner75 asked: another question, apologies if this has been answered, when submitting a proprietary app. So you submit it as a binary (like jar file) or as source code to be packaged?
 105 [19:50] <achuni> shazzner75: it hasn't been answered, and thanks for asking :)
 106 [19:50] <ClassBot> There are 10 minutes remaining in the current session.
 107 [19:50] <achuni> shazzner75:  you can submit it as a binary (jar file, elf or whatever), no need to submit the source code
 108 [19:51] <achuni> shazzner75: for proprietary apps that is
 109 [19:51] <achuni> shazzner75: for libre apps going in for ARB review I imagine they'll expect to see the source code available :)
 110 [19:55] <ClassBot> There are 5 minutes remaining in the current session.
 111 [19:56] <achuni> ok, I think we're done then.  thanks everybody for joining!  stay tuned for stgraber, coming up next, don't go far :)

MeetingLogs/appdevweek1109/PublishingAppsInSoftwareCenterMyApps (last edited 2011-09-07 11:26:03 by dpm)