== Dev Week -- Getting started with app development -- dpm -- Thu, Aug 30th, 2012 == {{{#!irc [15:01] Hello everyone! [15:01] welcome to the first session of Ubuntu Developer Week Day 3! [15:02] it's a short session today, so let's just go for it :) [15:02] My name is David Planella and I work in the Community Team at Canonical, today with my Ubuntu App Developers Liaison hat on [15:03] This is a bit of a different session than most of the topics this week. [15:03] I want to tell you about building upon the Ubuntu platform and create apps that run on it, [15:03] rather than developing and maintaining the platform itself. [15:03] To put it simple, the subject of this session will be how to get started [15:03] with the process of creating apps that run on Ubuntu, rather than how to developing the Ubuntu platform itself [15:04] Both are equally fun, so feel free to pick your poison ;) [15:04] Therefore, during the next half hour I'll be talking about how to submit your apps to Ubuntu, so [15:04] that they get published in the Software Centre, to be distributed to millions of [15:04] users that will surely enjoy your cool software :) [15:05] But it will not be just a talk: I'd like everyone to participate and ask their questions at the end. [15:05] However, feel free to interrrupt me during the rest of the session too, if you've got any questions. [15:05] Just remember to prepend them with QUESTION: on the #ubuntu-classroom-chat channel [15:05] Throughout the talk I will be referring to different places in the Ubuntu App Developer site, [15:05] which is the central place for anyone wanting to create and publish their apps in Ubuntu. [15:05] Here's where it lives: [15:05] http://developer.ubuntu.com [15:06] So let's get cracking [15:06] [15:06] Creating your app [15:06] ================= [15:06] Well, the first step is obvious, you have to create your app, which is basically [15:06] the time when you materialise that cool idea into beautiful software. [15:06] I will not dwell too much on this subject, as it's beyond the scope of the session, [15:06] However, I'll just add a couple of tips for app authors. [15:07] If you're considering writing a new application for Ubuntu, I'd recommend to use [15:07] the standard set of tools available from the Ubuntu archive. [15:07] They are an extremely powerful and versatile bunch of tools that will not only put everything you need to write software at your fingertips, [15:07] but also will help you following good development practices. [15:07] And they're all Free Software and also free as in free beer! [15:07] You've got an overview of them here: [15:07] http://developer.ubuntu.com/get-started/quickly-workflow/ [15:08] What we've also got is a tool called Quickly, which puts all those technologies together [15:08] If you want to know more about it, mterry did a nice session during this UDW [15:08] so remember to check out the logs [15:09] You can learn more about it here too, it's got a nice and short video tutorial to show [15:09] you how to write a basic functional template for your app in a matter of minutes: [15:09] http://developer.ubuntu.com/get-started/ [15:09] [15:09] Which types of apps qualify [15:09] =========================== [15:09] There are thousands of apps available in the Ubuntu archive already, which usually get in there through other means. [15:09] Many of these fall into the category of system software, or big applications that are part of the Ubuntu platform. [15:10] They are also subject to strict policies to ensure the security and quality of the software, [15:10] as well as to ensure that they are indeed Free Software and can be distributed with Ubuntu. [15:10] So in order to differentiate from these archive applications, I'll call the process we'll be talking about today, "the app developer process". [15:10] Ultimately though, they are all published through the Software Centre [15:10] So to answer the first question, these are the 3 broad categories in which apps to be submitted through the app developer process fall: [15:11] * Paid for apps [15:11] * Gratis apps with proprietary licenses [15:11] * Gratis apps with Open Source licenses [15:11] Notice that as well as open source, we're also embracing commercial applications to give the opportunity to app authors and Canonical to make revenue of application sales. [15:11] [15:11] 1. Submitting your app [15:11] ====================== [15:12] Ok, so all that cleared up, by this point you've already have a working app you'd like the world to see and enjoy. [15:12] The good news is that we've got an easy, streamlined and web-based process to make it easy for you to to publish, keep track of, monitor and update your apps. [15:12] For this, we've developed a tool especially for app developers. [15:12] It's called My Apps and you'll find it on the app developer site: [15:12] https://myapps.developer.ubuntu.com [15:13] You'll see that it's easy and intuitive to use, and the first thing you'll want to do is to sign up for it to enter the Ubuntu app developer programme and start using it straight away. [15:13] Signing up it's free, and again, it's a matter of a couple of minutes. The process is based on Ubuntu's single login, so if you've got an Ubuntu SSO account already, it will be even quicker :) [15:13] Also, before you continue the process of submitting the app, you might want to read the quickstart guide on: [15:14] http://developer.ubuntu.com/publish/ [15:14] It will show you the basic steps you will be following and give you some useful tips along the way. [15:14] Let's go quickly through them: [15:14] 1 - Set up your My Apps account - you've already done that :) [15:14] 2 - Prepare your app's icons and screenshots - you will want your app to be appealing to users, so make sure you've got nice screenshots and icons, in all recommended sizes [15:15] 3 - Add your application details - here you'll be describing your app and making it easily discoverable in the Software Centre. Make sure the description is clear and use a spell-checker to avoid typos [15:15] 4 - Choose your price - if your app is paid for, you'll have to decide the price in USD at this point. The minimum price is $2.99 [15:15] (actually, I'd need to check if that has changed recently) [15:16] 5 - Have a source package or a PPA for your application ready to upload - here's where you upload your actual app to MyApps. [15:16] If you use Quickly, it will do that for you [15:16] so that you don't have to worry about packaging [15:16] 6 - Your app will be reviewed - before it gets into the wild, your app needs to be reviewed and QAd. [15:17] nja asked: ​ Why is the minimum price $2.99? [15:17] I believe that is (or was) a requirement from the bank that is used to do the money transfers [15:18] so there isn't much room for play here [15:18] but do check on MyApps and the FAQ. They should be up to date [15:18] commandoline asked: Is there any chance that open source apps developed this way can also get into debian? [15:19] They are all open source apps and they are publicly available in the extras.ubuntu.com archive, so I can't see no reason why someone can port them to Debian, most probably with minimal or no packaging changes [15:20] ok, let's continue [15:20] There are 10 minutes remaining in the current session. [15:21] moez asked: i want to develop an app well integred to gnome-shell, unity and even kde. Quickly can't do it for me. is there any tool can make it easier? [15:22] Quickly is focused on Ubuntu, but ultimately, it creates a Python app. You can use Quickly to create your app and then modify it to integrate into all of those shells [15:22] jsjgruber-l85-p asked: Are there plans for apps to declare what permissions they will need so the consumer can make a choice to trust an app developer or not (like Android's store)? [15:22] that's an excellent question [15:23] we have actually been discussing this over the course of the last few weeks [15:23] but such a feature is dependant essentially on sandboxing working well for all use cases [15:24] we've been discussing a plan for it, but it will span multiple releases to complete [15:24] stay tuned very soon for an announcement on the ubuntu-devel mailing list, and on the Ubuntu app development channels [15:24] moez asked: i'm using lauchpad for my app, and i want to ask help for design as asking help for translate. how? [15:25] There are 5 minutes remaining in the current session. [15:25] for design, I'd recommend heading to design.ubuntu.com. For translations, I'd recommend sending an e-mail to launchpad-translators(AT)lists(DOT)launchpad(DOT)net [15:26] you'll see there is an awesome community waiting to translate your software :) [15:27] ok, short session and only a few mins left, so I think we'll have to leave it here [15:27] Let me just add a couple of interesting links and places you can go to learn more [15:27] [15:27] Getting help [15:27] ============ [15:28] If you need any help or if you've got any questions, be it during or before the publishing step, there is an awesome, awesome community of app developers out there just like you: [15:28] http://developer.ubuntu.com/community/ [15:28] [15:28] Real-time: http://webchat.freenode.net/?channels=ubuntu-app-devel [15:28] Askubuntu: http://www.askubuntu.com/questions/ask?tags=application-development [15:28] Mailing list: https://lists.ubuntu.com/mailman/listinfo/ubuntu-app-devel [15:28] Staying up to date: http://developer.ubuntu.com/2011/11/building-the-ubuntu-app-development-community-i-communication-channels/ [15:29] And I think that's pretty much it, any very last minute questions? [15:29] it seems not, so thanks everyone, I hope you've enjoyed the talk and I hope to see your apps in Ubuntu soon! ;-) [15:30] FlowRiser asked: Isn't Ubuntu the best ?! :D [15:30] The answer is obvious }}}