== Ubuntu Open Week -Mythbuntu - Mario Limonciello - Fri, Oct 26, 2007 == {{{ 18:07 < superm1> Hi everyone, my name is Mario Limonciello, and I'm leading the Mythbuntu effort. 18:07 < superm1> I'm assuming that everyone attending here today has at least heard of Mythbuntu. In case you haven't though, I'd recommend you take a quick look at our homepage at http://www.mythbuntu.org . 18:08 < habitantee> q dice la comunidad 18:08 < superm1> i'll talk a little bit about our bases and then move over a little to talk about the development cycle 18:08 -!- mode/#ubuntu-classroom [+o Daviey] by ChanServ 18:08 < superm1> The big thing that makes Mythbuntu stand out from other similar projects is its relationship within the community. All development is done directly within the Ubuntu archives and follows the standard Ubuntu release cycle. 18:08 < superm1> We are happy to share our code, artwork, and everything we have learned during development with other teams. 18:09 < laga> habitantee: wrong channel, try #ubuntu 18:09 < superm1> We have actually been in colaboration with the Ubuntu Media Center (UMC) team regarding some common blueprints and goals that we share such as remote control support (LIRC). Likewise, the UMC team has begun to adapt some of our scripts and smaller applications that we use to create our environment. 18:10 < superm1> there has been a common push between us to make remote control support a more OOTB (out of the box) user friendly experience 18:10 < superm1> items here have ranged from adding support for pre-compiled kernel modules, improving debian install scripts, all the way to writing custom third party applications to help 18:11 < superm1> By using Ubuntu as our base and doing the development within the Ubuntu archives, we have a requirement of interaction with a large variety of other teams. 18:11 < superm1> One of these teams is the MOTU (masters of the universe) team. 18:12 < superm1> you may have attended some meetings in here where they discussed packaging and how all the things in universe get maintained 18:12 < superm1> All of the Mythbuntu specific packages sit in Universe or Multiverse. Since i'm now a MOTU, I am typically the person sponsoring our packages. This doesn't mean however that I am the sole sponsor or developer of the packages. 18:13 < superm1> if mythbuntu is to eventually turn into a canonical "supported" project, these packages will eventually need to be moved over to the 'main' component 18:13 < superm1> Several of our team members have aspirations to eventually become MOTUs themselves. I am working with them and trying to teach them how to properly produce packages that are sufficient for the archive. 18:14 < superm1> PPAs (personal package archives) have been immensely useful here in testing our new packages. Since our build process doesn't currently use the standard Ubuntu CD image builder, we have been able to add support for using a PPA to build the disks. 18:14 < superm1> If one of us has a package that needs to be verified to work correctly before pushing it out to the archive, it can be pushed to the PPA. Any of us can then initiate a new local CD build that would use the PPA. Once the CD build has been verified to work with that package, it can be pushed to the normal Ubuntu archive. 18:15 -!- mode/#ubuntu-classroom [-o PriceChild] by ChanServ 18:16 < superm1> If you are considering becoming a MOTU yourself, we are always looking for more people to help maintain and add additional new packages. If you'd like to try to work on helping us with some packages to add to your portfolio of sponsored uploads, come and join us and we can try to help mentor you. 18:16 < laga> regarding the move to main: currently, the MythTV packages cannot be moved to main because of dependencies, eg liblame. liblame is used to encode the audio stream with some types of TV cards. 18:16 < superm1> if ever MythTV can be abstracted to depend on liblame or a third party "for purchase" decoder/encoder, this can become more feasible 18:17 < laga> we'd have to move away from liblame and friends to put mythtv into main. in order to do that, we'd need to work with upstream. there's also been an (orphaned AFAIK) project on debian's alioth server which tried to do just that. 18:17 < laga> superm1: yes, this will require some careful interaction with upstream. upstream seems to like liblampe a lot - that's an adventure for the future :) 18:18 < superm1> well, so if anyone has an interest in doing this, we can chat some more in our development channel about technical requirements and alternatives 18:18 < superm1> I'll jump back onto what i was going to go into next :) 18:18 < superm1> So wrg to packaging, the way that I got involved with Ubuntu originally was by working on the 'mythtv' package 18:19 < superm1> personally i've tried to stick to very related packages such as lirc, ivtv, mythplugins, ffmpeg, mplayer etc 18:20 < superm1> lots of MOTUs like to have diversity in the packages they work with, but i'll say its not necessary to become a MOTU 18:20 < superm1> the more important part is to show the knowledge that you have with packaging, and the conciseness, and concern for intricacies and ramifications for changes 18:21 < superm1> okay moving on: 18:21 < superm1> Another big area that we touch upon is Ubiquity. We are the first Ubuntu derivative to have a custom frontend for Ubiquity. Our frontend for it is derived from the GTK frontend. 18:21 < superm1> ubiquity is written in the sense that it can have different "interfaces" 18:22 < superm1> when you install a standard GNOME based Ubuntu install, you use the GTK interface 18:22 < superm1> if you install Kubuntu, you will see that it uses a QT based interface instead 18:22 < superm1> both of these interfaces are considered 'frontends' which call upon common code that is used to actually do the installation 18:22 < brobostigon> is this the mythbuntu session?? 18:22 < superm1> brobostigon, Yes 18:23 < laga> because kubuntu uses KDE which is based on QT - you get a more consistent interface. 18:23 < brobostigon> thanks 18:23 < superm1> mythbuntu doesn't really have a standard 'interface' per say like gnome and kde do though 18:23 < superm1> we have just chosen to adapt GTK out of a personal preference 18:23 < superm1> so our frontend then derives a lot of its functionality directly from the GTK interface that is used for Ubuntu 18:24 < superm1> By using this custom installer we have the ability to ask questions and perform installations that would typically only be available in an alternate type installer. We can then have custom post installation steps and do a lot more than the standard installer. 18:24 < superm1> if you have looked at the Ubuntu installer, it is much shorter than ours is. Ours is actually about twice as long. 18:24 -!- mode/#ubuntu-classroom [+v superm1] by ChanServ 18:24 <+superm1> by doing this, we are able to ask additional questions to better customize the system, and packages installed before you actually reboot. 18:24 < laga> some time far, far away we might use the MythTV UI libraries to build an installer (and port mythbuntu-control-centre as well), but that won't happen soon. if you're interested, there's a very interestinjg üproject called "mythpython" which aims to porvide python bindings for the UI code of MythTV 18:25 < laga> it's still in its early stages, though. search the mythtv-dev mailing list if you're interested. also, you can come to talk to use in our developer channel :) 18:25 <+superm1> it would be very cool to have an installer that was based out of libmythui though too 18:25 <+superm1> the problem is that by using ubiquity our entire installer is based off a combination of sh and python 18:26 <+superm1> so it would be a very involved conversion to go to C or C++ 18:26 < laga> not if we end up using mythpython. but we'll have to see how everything works out :) 18:26 <+superm1> as I said our installer disk is kinda like a hybrid between the 'alternate' installer and the normal ubiquity installer 18:27 <+superm1> because so much time had to be put into working on the ubiquity based installation, we didn't manage to finalize the items necessary for an 'alternate' disk install 18:27 <+superm1> this will be one of the goals for the upcoming cycle however. 18:28 <+superm1> something very nice though, the installer team has been very accepting of our code 18:28 <+superm1> so we actually have our ubiquity builds built at the same time as the normal ubiquity 18:28 <+superm1> this being said though there is a lot of work to be done in the installer yet. 18:29 < laga> some examples of what we're doing in our installer: we can set up LIRC (eg make your remote control do something useful), configure proprietary drivers including TV-out, enable VNC and a few more. 18:29 <+superm1> so if anyone would have an interest in learning more about how it works, implementing their own derivative, or even abstracting the frontend further for other derivatives to take advantage of, these are all items you can come and join us to talk about 18:30 <+superm1> As you would expect, like a lot of Ubuntu, we use a lot of custom code to integrate and work with these packages. A lot of our development has been python lately. However we are looking people who are interested in helping the project. This includes artists, translaters and coders to name a few. We're also looking for people who'd like to help out with documentation. If you think you can help our effort, please do get in contact. 18:31 <+superm1> a majority of ubiquity itself is python, as well as multiple of our custom applications that were written 18:31 <+superm1> if you take a look at the screenshots on mythbuntu.org, you will see some for the mythbuntu-control-centre 18:31 < laga> like mythbuntu-control-centre and mythbuntu-lirc-generator 18:31 <+superm1> yup :) 18:32 <+superm1> these are completely custom applications that create an incredible end user experience 18:32 < DaveMorris> screenshots- http://www.mythbuntu.org/image/tid/5 18:32 <+superm1> we're always looking for ideas to improve them still though, and more developers to improve them too 18:33 <+superm1> one of the biggest ways we were looking for help still was translations. As an example, we are pleased to see our control centre application being translated. Currently that effort is going suprisingly well with 15 languages being worked on. 18:33 <+superm1> https://translations.launchpad.net/ubuntu/gutsy/+source/mythbuntu-control-centre/+pots/mythbuntu-control-centre . You can also help us translate the packaging scripts at https://translations.launchpad.net/ubuntu/gutsy/+source/mythtv and https://translations.launchpad.net/ubuntu/gutsy/+source/mythplugins 18:34 <+superm1> so as you can see there is a very large variety of areas that we touch upon to make this derivative happen. 18:34 <+superm1> there are many teams that are involved with the interaction, even if indirectly 18:34 < laga> which means there's a very large variety of areas where we can use your help :) 18:34 <+superm1> so even if you don't contribute to us directly, but help out with one of the parent projects that we use: you will help us immensely 18:35 <+superm1> recently since we started to use Xfce, I messaged the Xubuntu development team, and we will be working with them 18:36 <+superm1> so out of that, both xubuntu and mythbuntu will be improving with all of the increased exposure and bug filing that will result 18:37 <+superm1> okay so that's about what i had to say about our development. So if you would like to get involved, please join us in #ubuntu-mythtv-dev shortly after this meeting. 18:37 <+superm1> we can discuss more of our specifications 18:37 <+superm1> and goals for hardy 18:37 <+superm1> Lastly, I'd like to thank everyone for putting aside some time to come and hear what we're about. I'll open the floor to any questions. 18:37 <@Daviey> Please ask questions to the mythbuntu dev team in #ubuntu-classroom-chat , and they will be pasted in order. Thanks 18:38 <@Daviey> < DaveMorris> [QUESTION] What does mythbuntu plan to add over the coming Hardy cycle? 18:38 <+superm1> well we've got a very large (and growing) list of specs 18:38 <+superm1> https://blueprints.edge.launchpad.net/mythbuntu/ 18:39 <+superm1> some of the bigger ones will be switching over to mythtv 0.21 as it gets released 18:39 <+superm1> and adding support for out of the box IR blasters 18:39 <+superm1> and consequently multiple LIRC devices 18:39 <@Daviey> We are also at a stage where we really need to thrash out some ideas that we have had. These will be converted into blueprints for inclusion in Hardy (8.04) 18:40 <+superm1> if anyone has any ideas that they would like to see that are not on that list, please feel free to add a spec 18:40 <+superm1> you just need to register with launchpad. anyone registered on launchpad can submit one. 18:41 <+superm1> any additional questions? 18:41 < tgm4883_laptop> [QUESTION] What is the process of becoming a Mythbuntu developer or in aiding in the development of it. 18:42 <+superm1> well there are three big ways that development can be aided 18:43 <+superm1> 1) help out with a project that we use in mythbuntu. 18:43 <+superm1> this is probably one of the best ways, because then we benefit as well as a lot of other people 18:43 <+superm1> 2) Testing testing testing 18:43 <@Daviey> 2a) report bugs, report bugs, report bugs! 18:43 <+superm1> if we don't have people testing our products before release, its hard to gauge what's broken 18:43 < laga> 2b) triage bugs! 18:44 <+superm1> right after our first stable release, there was a large influx of bugs that could have been trivial fixes, but since we had just released, there wasn't much we could do about them at that time 18:44 <+superm1> the biggest point here will be regression testing 18:45 <+superm1> especially if you have very obscure hardware 18:45 <+superm1> there might only be 5 of you out there with that hardware, but if we know that it doesn't work for you, we can fix it and have it work for all 5 of you 18:45 <+superm1> 3) Come and join us in #ubuntu-mythtv-dev 18:45 <@Daviey> < tgm4883_laptop> [QUESTION] If i wanted to help, how active would i need to be? 18:46 <+superm1> we can talk to you about your strengths and weaknesses 18:46 <+superm1> and find where it would be best for you to help out with the project 18:46 <+superm1> you can commit as much time as you would like 18:46 <+superm1> there are no "requirements" per say 18:46 <+superm1> this is after all a community effort 18:46 <+superm1> we can try to set realistic deadlines for different specifications that are assigned and such. 18:47 <@Daviey> So flexible! If you can help - do :) 18:47 <+superm1> and remember contributing doesn't have to be directly working on code 18:47 <+superm1> translations, helping users, and bug fixing are all great things to do 18:48 <+superm1> our forums are getting quite busy, so the more help the bettter 18:48 <+superm1> s/bettter/better/ :) 18:48 <@Daviey> The initial artwork was done by coders.. and it showed :) . So anything you think you can bring to the project, we are listening. 18:48 <@Daviey> next? 18:49 <@Daviey> tgm4883_laptop> [QUESTION] If I had an idea for mythbuntu, whats the best way to make sure it gets into Hardy? 18:49 <+superm1> file a spec on it 18:49 <+superm1> the more information you can add to the spec the better 18:49 <+superm1> if you for example have a remote control that works with a 10 step process 18:49 <+superm1> put that 10 step process in the spec 18:50 <+superm1> if you've got the time and knowledge to do so: even better, join up with us and implement it :) 18:50 <@Daviey> < laga> [QUESTION] how does regression testing work on Mythbuntu? .. and how do i go back to a previous version? 18:51 <+superm1> if you've got some general ideas where things need to be changed, but dont know the final details, we can help you walk through implementing it 18:51 <+superm1> the best way for regression testing is with multiple hard drives 18:51 <+superm1> you dont need to have two 500 gig drives to do it 18:51 <+superm1> just some basic tests would suffice. 18:51 <+superm1> have a working 7.10 install on one drive 18:52 <+superm1> and when you would like to do some regression testing, pop in the other drive instead 18:52 <+superm1> do a test install, and see what has changed and/or stopped working 18:52 < laga> it's also a good idea to keep backups - both of our database and of your whole Mythbuntu install. 18:52 <+superm1> well if you're going to test an upgrade install - yes 18:53 <+superm1> if you are just doing hardware regression testing, you can just do a quick test install to that second drive 18:53 < laga> Please remember that schema upgrades might be performed when a newer version of MythTv is introduced into an existing install. So: think twice before you connect your testing install to your existing master backend. :) 18:54 <+superm1> next q? 18:55 <@Daviey> Any questions people? 18:57 <+superm1> okay well looks like we're finished up here then. Anyone that would be interested in joining our development, we're going to have a short meeting in #ubuntu-mythtv-dev in 10 minutes. 18:57 <+superm1> thanks again for coming and listening. 18:57 <@Daviey> Thanks superm1 18:57 < mzungu> superm1, many thanks! 18:58 < brobostigon> thanks}}}