Re: [Elementary-dev-community] Congratulations Luna developers!
Albert We don't need to exaggerate. Though TDD is, indeed, a development methodology, it is not supposed to completely change the way everyone works. Just consider that writing a good test takes about 10 minutes, and that each developer writes one or two tests for new stuff they add (or the old one they fix) from time to time. Then, in time, you'll have part of your code tested, which is exactly what we're aiming for. Beginning is hard, continue something is easier. I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. On Tue, Aug 20, 2013 at 3:37 AM, Albert Palacios optimi...@gmail.comwrote: Hi Craig, Thanks for your explanation and the linked video. I am still agnostic, but I don't want to be the only one who complained about the proposal. At this point I have more questions than answers, and those will probably be solved with a working example. But remember, *TDD is a development methodology* not a testing methodology. It will change our development work flow, and will probably move potential volunteers away from the project. TDD like every other development methodology does not fit every project or team. It can be a hit, and it can even the death of the project. Albert On Tue, Aug 20, 2013 at 12:50 AM, Craig webe...@gmail.com wrote: Hi Albert, Thanks for your response, you asked a lot of great questions. In addition to Gufran's earlier response. Can you prove that there will be huge benefits in time/resources? Well, that depends on what you consider proof. In the spring, my company paid several thousand dollars to send me to a conference in San Jose in which many software development authorities recited, test driven development pays itself off in iteration 0. That means the very first time you write the code it has already paid for itself (because even before you get the automatic-regression testing benefits, you've already got the benefits of a better architecture and documentation--because the tests _are_ the documentation!). I'm sure I can dig up lots of other resources, but I think it should suffice to say that I've never heard an expert comment on TDD except to say it's fastest way to develop quality software. For more information addressing your specific concerns, see the Wikipedia article's benefits section (and read on to the shortcomings as it is also relevant: http://en.wikipedia.org/wiki/Test-driven_development#Benefits. Even more importantly, this short video: http://www.youtube.com/watch?v=DodJQyHsmHI Can you prove that there will be less bugs? (looks like that if tests are not right, bugs will populate equally). It's pretty hard to write bad tests if you're practicing TDD, because you write the test first, watch it fail, insert the code you need to make it pass, and then hopefully watch it pass. If you wrote a bad test, it very probably will pass before you've written the code to make it pass (which serves to alert the programmer that his test is bad or his software is doing something unexpected) or the test will fail after he has correctly written the next line of code (which serves to alert the programmer to review both the code and his test and identify the source of the problem). For this reason alone, many, many bugs are eliminated. From what's been said, looks like there will be an extra effort on development, adding complexity and more tools to know (not to say maintain). Besides the initial learning curve, development actually goes _faster_ with TDD (see the aforementioned Wikipedia article--I can provide more resources on demand) because debugging time becomes exponentially more expensive as time passes after the bug has been introduced. This is because the bug can live anywhere in any code that has been added *since the last time the tests were run* and because the programmer will have an increasingly difficult time remembering the code he wrote at the time of the bug as time progresses. With TDD, you are running the tests after every change (generally you test every time you build), so as soon as you've broken something you find out about it. This means that the bug is guaranteed to live in the last change you made, which is a smaller sample and fresher-in-your-mind than changes you made weeks ago. Regarding your complexity concern, generally the process isn't complex (it's actually very simple) and it _simplifies_ development once you learn how to do it. The most complex part is figuring out how to integrate testing into the CMake project, and that's only complicated because CMake is complicated. Regarding tools, there are already testing tools available for Vala, including GLib (so we don't have to maintain anything). Anyway, testing tools don't take a terribly long time to learn. Can we focus on the half done things before adding new projects? Granite is not ready, documentation is missing, not to talk about the bugs that
Re: [Elementary-dev-community] Congratulations Luna developers!
I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. This. I've heard (and witnessed) a lot of projects drop their defect percentage from 20% to 3%. A lot of new-to-TDD developers don't like it at first because it feels slower, but I don't think those people remember how much time is spent bug hunting at the end of a release cycle. I think the next step is to find a pilot project and get the lead developer(s) to agree to work toward TDD. This will probably look like: 1) Modifying the project structure to include _test directories 2) Creating tests with GLib.Test or some such 3) Coaching/mentoring the developers at TDD 4) Performing code reviews in which insufficiently tested code is sent back for revision After testing it out for a few months, the community can see how they like it. Does this sound like a reasonable approach? If so, would any project leads like to volunteer their project? And who in the community would like to participate in such an experiment? On Wed, Aug 21, 2013 at 4:34 AM, Alex Lourie djay...@gmail.com wrote: Albert We don't need to exaggerate. Though TDD is, indeed, a development methodology, it is not supposed to completely change the way everyone works. Just consider that writing a good test takes about 10 minutes, and that each developer writes one or two tests for new stuff they add (or the old one they fix) from time to time. Then, in time, you'll have part of your code tested, which is exactly what we're aiming for. Beginning is hard, continue something is easier. I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. On Tue, Aug 20, 2013 at 3:37 AM, Albert Palacios optimi...@gmail.comwrote: Hi Craig, Thanks for your explanation and the linked video. I am still agnostic, but I don't want to be the only one who complained about the proposal. At this point I have more questions than answers, and those will probably be solved with a working example. But remember, *TDD is a development methodology* not a testing methodology. It will change our development work flow, and will probably move potential volunteers away from the project. TDD like every other development methodology does not fit every project or team. It can be a hit, and it can even the death of the project. Albert On Tue, Aug 20, 2013 at 12:50 AM, Craig webe...@gmail.com wrote: Hi Albert, Thanks for your response, you asked a lot of great questions. In addition to Gufran's earlier response. Can you prove that there will be huge benefits in time/resources? Well, that depends on what you consider proof. In the spring, my company paid several thousand dollars to send me to a conference in San Jose in which many software development authorities recited, test driven development pays itself off in iteration 0. That means the very first time you write the code it has already paid for itself (because even before you get the automatic-regression testing benefits, you've already got the benefits of a better architecture and documentation--because the tests _are_ the documentation!). I'm sure I can dig up lots of other resources, but I think it should suffice to say that I've never heard an expert comment on TDD except to say it's fastest way to develop quality software. For more information addressing your specific concerns, see the Wikipedia article's benefits section (and read on to the shortcomings as it is also relevant: http://en.wikipedia.org/wiki/Test-driven_development#Benefits. Even more importantly, this short video: http://www.youtube.com/watch?v=DodJQyHsmHI Can you prove that there will be less bugs? (looks like that if tests are not right, bugs will populate equally). It's pretty hard to write bad tests if you're practicing TDD, because you write the test first, watch it fail, insert the code you need to make it pass, and then hopefully watch it pass. If you wrote a bad test, it very probably will pass before you've written the code to make it pass (which serves to alert the programmer that his test is bad or his software is doing something unexpected) or the test will fail after he has correctly written the next line of code (which serves to alert the programmer to review both the code and his test and identify the source of the problem). For this reason alone, many, many bugs are eliminated. From what's been said, looks like there will be an extra effort on development, adding complexity and more tools to know (not to say maintain). Besides the initial learning curve, development actually goes _faster_ with TDD (see the aforementioned Wikipedia article--I can provide more resources on demand) because debugging time becomes exponentially more expensive as time passes after the bug has been introduced. This is because the bug can live anywhere in any code that has been added *since the last time
Re: [Elementary-dev-community] Congratulations Luna developers!
So if I'm not mistaken, TDD requires you to write tests before implementing something. This might work well for teams with enough developers that don't have to rely on volunteers and drive-by contributors, but I don't see this working out for elementary, at least not at this point. Many contributors fix a few small bugs here and there and don't have much experience with development, which is why we try to keep the entry barrier really low for new devs. When I started here, I had no experience with Vala, Gtk and Launchpad at all, and I just fixed some easy bugs, implemented some small features in various apps and so on. If we used TDD, we would have to reject most code by new devs, because they didn't implement tests, and then we'll have to explain to them how to use tests, and then they'll have to write tests, but that's bad because you have to write them before you write the actual code ... It's going to be a mess. What might work are regular unit tests, implemented by people who kind of know what they're doing (we need some documentation for that, maybe add it to the dev guide). This will give us some of the TDD benefits w/o deterring potential new devs. On Wed, Aug 21, 2013 at 3:29 PM, Craig webe...@gmail.com wrote: I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. This. I've heard (and witnessed) a lot of projects drop their defect percentage from 20% to 3%. A lot of new-to-TDD developers don't like it at first because it feels slower, but I don't think those people remember how much time is spent bug hunting at the end of a release cycle. I think the next step is to find a pilot project and get the lead developer(s) to agree to work toward TDD. This will probably look like: 1) Modifying the project structure to include _test directories 2) Creating tests with GLib.Test or some such 3) Coaching/mentoring the developers at TDD 4) Performing code reviews in which insufficiently tested code is sent back for revision After testing it out for a few months, the community can see how they like it. Does this sound like a reasonable approach? If so, would any project leads like to volunteer their project? And who in the community would like to participate in such an experiment? On Wed, Aug 21, 2013 at 4:34 AM, Alex Lourie djay...@gmail.com wrote: Albert We don't need to exaggerate. Though TDD is, indeed, a development methodology, it is not supposed to completely change the way everyone works. Just consider that writing a good test takes about 10 minutes, and that each developer writes one or two tests for new stuff they add (or the old one they fix) from time to time. Then, in time, you'll have part of your code tested, which is exactly what we're aiming for. Beginning is hard, continue something is easier. I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. On Tue, Aug 20, 2013 at 3:37 AM, Albert Palacios optimi...@gmail.com wrote: Hi Craig, Thanks for your explanation and the linked video. I am still agnostic, but I don't want to be the only one who complained about the proposal. At this point I have more questions than answers, and those will probably be solved with a working example. But remember, TDD is a development methodology not a testing methodology. It will change our development work flow, and will probably move potential volunteers away from the project. TDD like every other development methodology does not fit every project or team. It can be a hit, and it can even the death of the project. Albert On Tue, Aug 20, 2013 at 12:50 AM, Craig webe...@gmail.com wrote: Hi Albert, Thanks for your response, you asked a lot of great questions. In addition to Gufran's earlier response. Can you prove that there will be huge benefits in time/resources? Well, that depends on what you consider proof. In the spring, my company paid several thousand dollars to send me to a conference in San Jose in which many software development authorities recited, test driven development pays itself off in iteration 0. That means the very first time you write the code it has already paid for itself (because even before you get the automatic-regression testing benefits, you've already got the benefits of a better architecture and documentation--because the tests _are_ the documentation!). I'm sure I can dig up lots of other resources, but I think it should suffice to say that I've never heard an expert comment on TDD except to say it's fastest way to develop quality software. For more information addressing your specific concerns, see the Wikipedia article's benefits section (and read on to the shortcomings as it is also relevant: http://en.wikipedia.org/wiki/Test-driven_development#Benefits. Even more importantly, this short video: http://www.youtube.com/watch?v=DodJQyHsmHI Can you
Re: [Elementary-dev-community] Congratulations Luna developers!
Hmm, that's a good point. While the barrier to entry is very high right now, we could move some of that difficulty from things like simple installation (I can't remember the last time following the installation instructions yielded a successful build/install) to things that help improve our quality. If it has to be hard it may as well be hard for a reason. Anyway, even if we do reject a bug fix for lack of testing, at least the hard work of finding the bug is done for us. From there, we can use the opportunity to teach the submitter how to test or, in the worst case, write the test ourselves and implement the fix (since the rejected fix points is to the cause of the bug). I'm sure there will be some complications in practice, but it will move us a step closer to quality and it will allow us to focus on implementing new features rather than bug hunting. That might be enough in its own right to attract developers (and likely talented ones at that!). Agree with Julian. TDD is best suited when the software is developed using agile development methodology. For something like elementary os, which is community driven, TDD might not be practical. But writing test cases is a must I believe. That way with regression testing it might make debugging new bugs, which occurs when new features are added will get a lot easier. On Wed, Aug 21, 2013 at 9:45 PM, Julien spautz.jul...@gmail.com wrote: So if I'm not mistaken, TDD requires you to write tests *before*implementing something. This might work well for teams with enough developers that don't have to rely on volunteers and drive-by contributors, but I don't see this working out for elementary, at least not at this point. Many contributors fix a few small bugs here and there and don't have much experience with development, which is why we try to keep the entry barrier really low for new devs. When I started here, I had no experience with Vala, Gtk and Launchpad at all, and I just fixed some easy bugs, implemented some small features in various apps and so on. If we used TDD, we would have to reject most code by new devs, because they didn't implement tests, and then we'll have to explain to them how to use tests, and then they'll have to write tests, but that's bad because you have to write them before you write the actual code ... It's going to be a mess. What might work are regular unit tests, implemented by people who kind of know what they're doing (we need some documentation for that, maybe add it to the dev guide). This will give us some of the TDD benefits w/o deterring potential new devs. On Wed, Aug 21, 2013 at 3:29 PM, Craig webe...@gmail.com wrote: I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. This. I've heard (and witnessed) a lot of projects drop their defect percentage from 20% to 3%. A lot of new-to-TDD developers don't like it at first because it feels slower, but I don't think those people remember how much time is spent bug hunting at the end of a release cycle. I think the next step is to find a pilot project and get the lead developer(s) to agree to work toward TDD. This will probably look like: 1) Modifying the project structure to include _test directories 2) Creating tests with GLib.Test or some such 3) Coaching/mentoring the developers at TDD 4) Performing code reviews in which insufficiently tested code is sent back for revision After testing it out for a few months, the community can see how they like it. Does this sound like a reasonable approach? If so, would any project leads like to volunteer their project? And who in the community would like to participate in such an experiment? On Wed, Aug 21, 2013 at 4:34 AM, Alex Lourie djay...@gmail.com wrote: Albert We don't need to exaggerate. Though TDD is, indeed, a development methodology, it is not supposed to completely change the way everyone works. Just consider that writing a good test takes about 10 minutes, and that each developer writes one or two tests for new stuff they add (or the old one they fix) from time to time. Then, in time, you'll have part of your code tested, which is exactly what we're aiming for. Beginning is hard, continue something is easier. I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. On Tue, Aug 20, 2013 at 3:37 AM, Albert Palacios optimi...@gmail.comwrote: Hi Craig, Thanks for your explanation and the linked video. I am still agnostic, but I don't want to be the only one who complained about the proposal. At this point I have more questions than answers, and those will probably be solved with a working example. But remember, *TDD is a development methodology* not a testing methodology. It will change our development work flow, and will probably move potential volunteers away from the project. TDD like every other development methodology
[Elementary-dev-community] I Distributed elementary on the street :)
Hello guys and Girls, First of all I'd mention that here in my society/locality/streets/region/state linux is not quite popular (Hell, some people doesn't even know what a linux is!), so I went out and told them an evening :) Two days ago I burnt 10 CD of luna and wrapped them in an envelop with two papers in it, First one was having instructions on how to boot with this CD and try out the live session without messing up with your computer, Full Installation instructions if you like the deal and my email address just in case someone need any help. And the second paper, well, that was about why windows sucks and why you should immediately ditch it (*No, I'm not sorry*). Then I went out and start looking for people who potentially owns a computer, well, you can easily find out by their backpack, job ID cards, gadgets and things like that, and it really doesn't hurt either if you ask politely. anyways, I managed to convince 10 peoples to at least try this '* thing*' and handed them the CDs I had. It was fun explaining about Elementary and how awesome it is, so after coming back to home I burnt another 25 CDs and the same thing another day. and today I distributed another 12 CDs and till now I've got a lot of emails from people saying thanks. Some of them asked for a little help as well to which I replied promptly. All in all, It was an awesome venture and I guess I'm gonna get out again tomorrow and find out some more guys for another 8 CDs I have here with me. And I think you too can do it, anywhere, anytime and with anyone you like :D -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] I Distributed elementary on the street :)
Hi, You should totally record or take pictures of people and make a blog post somewhere about this (perhaps elementaryupdate), it's great PR for us and it was an awesome idea! Thank you and good job! ~David Munchor Gomes On Wed, Aug 21, 2013 at 8:39 PM, Gufran dogab...@gmail.com wrote: Hello guys and Girls, First of all I'd mention that here in my society/locality/streets/region/state linux is not quite popular (Hell, some people doesn't even know what a linux is!), so I went out and told them an evening :) Two days ago I burnt 10 CD of luna and wrapped them in an envelop with two papers in it, First one was having instructions on how to boot with this CD and try out the live session without messing up with your computer, Full Installation instructions if you like the deal and my email address just in case someone need any help. And the second paper, well, that was about why windows sucks and why you should immediately ditch it (*No, I'm not sorry*). Then I went out and start looking for people who potentially owns a computer, well, you can easily find out by their backpack, job ID cards, gadgets and things like that, and it really doesn't hurt either if you ask politely. anyways, I managed to convince 10 peoples to at least try this ' *thing*' and handed them the CDs I had. It was fun explaining about Elementary and how awesome it is, so after coming back to home I burnt another 25 CDs and the same thing another day. and today I distributed another 12 CDs and till now I've got a lot of emails from people saying thanks. Some of them asked for a little help as well to which I replied promptly. All in all, It was an awesome venture and I guess I'm gonna get out again tomorrow and find out some more guys for another 8 CDs I have here with me. And I think you too can do it, anywhere, anytime and with anyone you like :D -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] I Distributed elementary on the street :)
Hi, I really appreciate and admire your efforts on spreading the Linux word. Keep on, man! Cheers. On 21 Aug 2013 21:39, Gufran dogab...@gmail.com wrote: Hello guys and Girls, First of all I'd mention that here in my society/locality/streets/region/state linux is not quite popular (Hell, some people doesn't even know what a linux is!), so I went out and told them an evening :) Two days ago I burnt 10 CD of luna and wrapped them in an envelop with two papers in it, First one was having instructions on how to boot with this CD and try out the live session without messing up with your computer, Full Installation instructions if you like the deal and my email address just in case someone need any help. And the second paper, well, that was about why windows sucks and why you should immediately ditch it (*No, I'm not sorry*). Then I went out and start looking for people who potentially owns a computer, well, you can easily find out by their backpack, job ID cards, gadgets and things like that, and it really doesn't hurt either if you ask politely. anyways, I managed to convince 10 peoples to at least try this ' *thing*' and handed them the CDs I had. It was fun explaining about Elementary and how awesome it is, so after coming back to home I burnt another 25 CDs and the same thing another day. and today I distributed another 12 CDs and till now I've got a lot of emails from people saying thanks. Some of them asked for a little help as well to which I replied promptly. All in all, It was an awesome venture and I guess I'm gonna get out again tomorrow and find out some more guys for another 8 CDs I have here with me. And I think you too can do it, anywhere, anytime and with anyone you like :D -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] I Distributed elementary on the street :)
Haha, I'm not sure a 13 year old giving out CD's in to a community of mostly pensioners will work out :D Besides, I literally don't know anyone on my street, not even names or what they even look like. I do, however, encourage my friend/s to use it On Aug 21, 2013 9:06 PM, Gufran dogab...@gmail.com wrote: Hey Xylon, Why not just *'Try It Out'* ? I was not serious at first either but people out there are awesome. And most of all, getting back emails and all sort of good words is an awesome feeling :) On Thu, Aug 22, 2013 at 1:19 AM, A. Xylon V. avlabs...@gmail.comwrote: This is absolutely awesome. I would do exactly the same thing if I was actually old enough to be taken seriously or if I knew anyone in my community XD On Aug 21, 2013 8:41 PM, David Gomes da...@elementaryos.org wrote: Hi, You should totally record or take pictures of people and make a blog post somewhere about this (perhaps elementaryupdate), it's great PR for us and it was an awesome idea! Thank you and good job! ~David Munchor Gomes On Wed, Aug 21, 2013 at 8:39 PM, Gufran dogab...@gmail.com wrote: Hello guys and Girls, First of all I'd mention that here in my society/locality/streets/region/state linux is not quite popular (Hell, some people doesn't even know what a linux is!), so I went out and told them an evening :) Two days ago I burnt 10 CD of luna and wrapped them in an envelop with two papers in it, First one was having instructions on how to boot with this CD and try out the live session without messing up with your computer, Full Installation instructions if you like the deal and my email address just in case someone need any help. And the second paper, well, that was about why windows sucks and why you should immediately ditch it (No, I'm not sorry). Then I went out and start looking for people who potentially owns a computer, well, you can easily find out by their backpack, job ID cards, gadgets and things like that, and it really doesn't hurt either if you ask politely. anyways, I managed to convince 10 peoples to at least try this 'thing' and handed them the CDs I had. It was fun explaining about Elementary and how awesome it is, so after coming back to home I burnt another 25 CDs and the same thing another day. and today I distributed another 12 CDs and till now I've got a lot of emails from people saying thanks. Some of them asked for a little help as well to which I replied promptly. All in all, It was an awesome venture and I guess I'm gonna get out again tomorrow and find out some more guys for another 8 CDs I have here with me. And I think you too can do it, anywhere, anytime and with anyone you like :D -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Congratulations Luna developers!
But yes, GUI automatic tests are notoriously much harder to automate fully, but you can often test a basic level automatically. On 2013-08-21 22:54, Jaap Broekhuizen wrote: You can do that using behaviour driven testing tools. For example in python webdevelopment I use pytest and pytest-bdd in combination with splinter and Firefox. -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Other languages? (Was Re: Congratulations Luna developers!)
The thing about vala is that its simple enough to learn, but is still very powerful and is extremely fast. The best thing is that it was made for Gtk, which is perfect for elementary. More languages would mean that we wouldn't have unity across the applications - I do however, think that this would attract developers, especially since vala does not have very good tutorials, or books. On Aug 21, 2013 9:54 PM, Jakob Eriksson ja...@aurorasystems.eu wrote: On 2013-08-21 22:35, Kurt Smolderen wrote: look at the code. As Vala is currently missing a decent IDE (such as Eclipse,...) and debugging isn't as easy due to the fact the code is translated into C, its often very difficult to analyse the flow of a program. Available tests might help this initial contributors with And when will it be blessed to create Elementary apps in another language than Vala? If Elementary would open up to other languages, we could REALLY see increased productivity and more contributors. IMHO Objective C, C++ and maybe even Java via GCJ would be the obvious candidates. --jakob -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Other languages? (Was Re: Congratulations Luna developers!)
You can do whatever you like in your own 3rd party app, but we want everything shipped on the disc to be in Vala to lower the barrier of entry for contributors and to make development easier for ourselves as well. — Sent from Mailbox for iPhone On Wed, Aug 21, 2013 at 2:03 PM, Albert Palacios Jimenez optimi...@gmail.com wrote: In my opinion blessing other languages will create fragmentation. Developers from one application won't be able to help other applications because of the different language. We have a lot of examples, pantheon-files is one of them but also external libraries that doesn't really fit. On Aug 21, 2013, at 10:54 PM, Jakob Eriksson ja...@aurorasystems.eu wrote: On 2013-08-21 22:35, Kurt Smolderen wrote: look at the code. As Vala is currently missing a decent IDE (such as Eclipse,...) and debugging isn't as easy due to the fact the code is translated into C, its often very difficult to analyse the flow of a program. Available tests might help this initial contributors with And when will it be blessed to create Elementary apps in another language than Vala? If Elementary would open up to other languages, we could REALLY see increased productivity and more contributors. IMHO Objective C, C++ and maybe even Java via GCJ would be the obvious candidates. --jakob -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp-- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Other languages? (Was Re: Congratulations Luna developers!)
Like Dan said, you can write 3rd party applications in whatever language, but core elementary apps will use vala On Aug 21, 2013 10:20 PM, Albert Palacios Jimenez optimi...@gmail.com wrote: You can find non Vala applications at the software center, you can sell applications written in whatever language as long as they run properly. It is just that you application won't benefit of the Elementary + Granite + Vala ecosystem. It will probably look ugly and less appealing to your potential customers. On Aug 21, 2013, at 11:14 PM, Jakob Eriksson ja...@aurorasystems.eu wrote: On 2013-08-21 22:59, A. Xylon V. wrote: The thing about vala is that its simple enough to learn, but is still very powerful and is extremely fast. The best thing is that it was made for Gtk, which is perfect for elementary. More languages would mean that we wouldn't have unity across the applications - I do however, think that this would attract developers, especially since vala does not have very good tutorials, or books. That is an understatement. Not having support for other languages is sort of insane. Scenario: I am a developer. I develop an application for Windows and, against commercial reason, make a Linux version of it too. It's coded in a mix of C++ and Python. I think Elementary is just fantastic, so just out of love I want to make my Linux app an Elementary version. I read the HIG and love it. Then I go to http://elementaryos.org/docs/code on the FIRST page I read: If you're not familiar with Vala, we highly encourage you to brush up on it before coming here. Sorry say what? No, not going to happen. I can't redo my app in Vala, even if I wanted to, because that means I can't run it on Windows. (Or OSX, or iOS.) The dev page should read something like for Elementary core apps we use Vala as a programming language. If you want to create your own Elementary apps, we encourage you to try out Vala, which is a fantastic language. If you want to use another language, that's fine too. Here are example Hello World Elementary apps written in C++, Objective C, Python and Ruby. --jakob -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Other languages? (Was Re: Congratulations Luna developers!)
On 2013-08-21 23:20, Albert Palacios Jimenez wrote: You can find non Vala applications at the software center, you can sell applications written in whatever language as long as they run properly. It is just that you application won't benefit of the Elementary + Granite + Vala ecosystem. It will probably look ugly and less appealing to your potential customers. Is the mission to spread Vala or Elementary? As long as apps with the Elementary feeling can only be done in Vala, few third party developers will catch the train. Also what is properly? Will apps with substandard and ugly behaviour which does not follow the HIG be allowed in the software center? --jakob -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Other languages? (Was Re: Congratulations Luna developers!)
Then there is an education / PR problem on the elementary.org page. It should be made clear how to make a HIG compliant app in any (where any=C++, hehe) language. On 2013-08-21 23:32, Albert Palacios Jimenez wrote: I think there are some misunderstandings: - The HIG is a must for core elementary OS applications but a recommendation for third party ones. - If you develop your application using a Model/View/Controller schema, it will be easy to make it look like an elementary OS just changing the View and leaving the original sources for Models and Controllers. This is why a lot of applications work across different systems, they get the view/look from the core libraries and work with a non core language. This is an appropriate way of developing applications, it works well not only for Linux but also for OSX, Windows, iOS, Android, ... -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Congratulations Luna developers!
What do you think of giving Footnote some love? I think it is currently unmaintained (need to verify that), it's conceptually a rather simple application but offers a good set of practices for TDD/ writing tests. We need to verify first of course what the intentions of the current owner are, but I would personally like to see a new version of Footnote... Craig webe...@gmail.com wrote: I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. This. I've heard (and witnessed) a lot of projects drop their defect percentage from 20% to 3%. A lot of new-to-TDD developers don't like it at first because it feels slower, but I don't think those people remember how much time is spent bug hunting at the end of a release cycle. I think the next step is to find a pilot project and get the lead developer(s) to agree to work toward TDD. This will probably look like: 1) Modifying the project structure to include _test directories 2) Creating tests with GLib.Test or some such 3) Coaching/mentoring the developers at TDD 4) Performing code reviews in which insufficiently tested code is sent back for revision After testing it out for a few months, the community can see how they like it. Does this sound like a reasonable approach? If so, would any project leads like to volunteer their project? And who in the community would like to participate in such an experiment? On Wed, Aug 21, 2013 at 4:34 AM, Alex Lourie djay...@gmail.com wrote: Albert We don't need to exaggerate. Though TDD is, indeed, a development methodology, it is not supposed to completely change the way everyone works. Just consider that writing a good test takes about 10 minutes, and that each developer writes one or two tests for new stuff they add (or the old one they fix) from time to time. Then, in time, you'll have part of your code tested, which is exactly what we're aiming for. Beginning is hard, continue something is easier. I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. On Tue, Aug 20, 2013 at 3:37 AM, Albert Palacios optimi...@gmail.comwrote: Hi Craig, Thanks for your explanation and the linked video. I am still agnostic, but I don't want to be the only one who complained about the proposal. At this point I have more questions than answers, and those will probably be solved with a working example. But remember, *TDD is a development methodology* not a testing methodology. It will change our development work flow, and will probably move potential volunteers away from the project. TDD like every other development methodology does not fit every project or team. It can be a hit, and it can even the death of the project. Albert On Tue, Aug 20, 2013 at 12:50 AM, Craig webe...@gmail.com wrote: Hi Albert, Thanks for your response, you asked a lot of great questions. In addition to Gufran's earlier response. Can you prove that there will be huge benefits in time/resources? Well, that depends on what you consider proof. In the spring, my company paid several thousand dollars to send me to a conference in San Jose in which many software development authorities recited, test driven development pays itself off in iteration 0. That means the very first time you write the code it has already paid for itself (because even before you get the automatic-regression testing benefits, you've already got the benefits of a better architecture and documentation--because the tests _are_ the documentation!). I'm sure I can dig up lots of other resources, but I think it should suffice to say that I've never heard an expert comment on TDD except to say it's fastest way to develop quality software. For more information addressing your specific concerns, see the Wikipedia article's benefits section (and read on to the shortcomings as it is also relevant: http://en.wikipedia.org/wiki/Test-driven_development#Benefits. Even more importantly, this short video: http://www.youtube.com/watch?v=DodJQyHsmHI Can you prove that there will be less bugs? (looks like that if tests are not right, bugs will populate equally). It's pretty hard to write bad tests if you're practicing TDD, because you write the test first, watch it fail, insert the code you need to make it pass, and then hopefully watch it pass. If you wrote a bad test, it very probably will pass before you've written the code to make it pass (which serves to alert the programmer that his test is bad or his software is doing something unexpected) or the test will fail after he has correctly written the next line of code (which serves to alert the programmer to review both the code and his test and identify the source of the problem). For this reason alone, many, many bugs are eliminated. From what's been said, looks like there will be an extra effort on development, adding complexity and more tools to know (not
Re: [Elementary-dev-community] Other languages? (Was Re: Congratulations Luna developers!)
Hi Jakob, This is a project worked by volunteers, who are developing other things that are more needed right now. Such as a site showing how to fix bugs and collaborate with them, or a tutorial on how to develop Vala applications for elementary OS. If you want to contribute, you are welcome to make a proposal of a tutorial about Vala bindings to other languages, and how to easily port applications using Vala bindings. I am sure the elementary OS team (and the GTK community) will be very happy. Elementary OS is just making a realistic decision choosing one language and defining the HIG. This is how great projects grow, and how they stand to their principles. We would love if you understand that some decisions are just for the good of the project and its users. On Aug 21, 2013, at 11:47 PM, Jaap Broekhuizen jaap...@gmail.com wrote: So you want us to document how to build a elementary style app in any possible language? Thanks but no thanks. IMHO we should provide generic goals and guidelines as to how an application should work and what it should look like, and preferably describe a set of tools with which you could achieve that. Vala is just the tool elementary agreed upon to use for core apps, and it makes sense to use that knowledge to also create third party apps. If you prefer to use different tools for third party apps, that's entirely OK. But it makes no sense to try to document any possible tool with which you could make an elementary style app. -- Jaap On Wed, Aug 21, 2013 at 11:39 PM, Jakob Eriksson ja...@aurorasystems.eu wrote: Then there is an education / PR problem on the elementary.org page. It should be made clear how to make a HIG compliant app in any (where any=C++, hehe) language. On 2013-08-21 23:32, Albert Palacios Jimenez wrote: I think there are some misunderstandings: - The HIG is a must for core elementary OS applications but a recommendation for third party ones. - If you develop your application using a Model/View/Controller schema, it will be easy to make it look like an elementary OS just changing the View and leaving the original sources for Models and Controllers. This is why a lot of applications work across different systems, they get the view/look from the core libraries and work with a non core language. This is an appropriate way of developing applications, it works well not only for Linux but also for OSX, Windows, iOS, Android, ... -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Other languages? (Was Re: Congratulations Luna developers!)
The HIG is independent of the language you use, but it partially depends on Granite, so if you want to use a language other than C or Vala, you might need to mess with bindings. Official elementary apps will only use Vala (and some legacy C) because it makes it much easier for us, but that doesn't mean you can't use a different language for your 3rd party app. And the guide on the website is targeted at people who want to contribute to elementary (i.e. official apps) so of course you need to know Vala. Also, could it be we got slightly off topic? On Wed, Aug 21, 2013 at 11:57 PM, A. Xylon V. avlabs...@gmail.com wrote: At least we're doing better than Android in terms of our language tolerance... XD On a serious note, last time I read the HIG, it was mostly a set of UX guidelines though, which could be applied to any language. Unless, of course, the HIG has gained vala specific stuff... On Aug 21, 2013 10:51 PM, Albert Palacios Jimenez optimi...@gmail.com wrote: Hi Jakob, This is a project worked by volunteers, who are developing other things that are more needed right now. Such as a site showing how to fix bugs and collaborate with them, or a tutorial on how to develop Vala applications for elementary OS. If you want to contribute, you are welcome to make a proposal of a tutorial about Vala bindings to other languages, and how to easily port applications using Vala bindings. I am sure the elementary OS team (and the GTK community) will be very happy. Elementary OS is just making a realistic decision choosing one language and defining the HIG. This is how great projects grow, and how they stand to their principles. We would love if you understand that some decisions are just for the good of the project and its users. On Aug 21, 2013, at 11:47 PM, Jaap Broekhuizen jaap...@gmail.com wrote: So you want us to document how to build a elementary style app in any possible language? Thanks but no thanks. IMHO we should provide generic goals and guidelines as to how an application should work and what it should look like, and preferably describe a set of tools with which you could achieve that. Vala is just the tool elementary agreed upon to use for core apps, and it makes sense to use that knowledge to also create third party apps. If you prefer to use different tools for third party apps, that's entirely OK. But it makes no sense to try to document any possible tool with which you could make an elementary style app. -- Jaap On Wed, Aug 21, 2013 at 11:39 PM, Jakob Eriksson ja...@aurorasystems.eu wrote: Then there is an education / PR problem on the elementary.org page. It should be made clear how to make a HIG compliant app in any (where any=C++, hehe) language. On 2013-08-21 23:32, Albert Palacios Jimenez wrote: I think there are some misunderstandings: - The HIG is a must for core elementary OS applications but a recommendation for third party ones. - If you develop your application using a Model/View/Controller schema, it will be easy to make it look like an elementary OS just changing the View and leaving the original sources for Models and Controllers. This is why a lot of applications work across different systems, they get the view/look from the core libraries and work with a non core language. This is an appropriate way of developing applications, it works well not only for Linux but also for OSX, Windows, iOS, Android, ... -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Other languages? (Was Re: Congratulations Luna developers!)
it partially depends on Granite, so if you want to use a language other than C or Vala, you might need to mess with bindings Because D is ABI compatible with C, you do not need to make bindings for it, no? Also, I have seen a Python specific version of Granite, so Jakob, your C++ and Python app should have been able to follow elementary HIGs and use Granite. On Wed, Aug 21, 2013 at 3:03 PM, Julien spautz.jul...@gmail.com wrote: The HIG is independent of the language you use, but it partially depends on Granite, so if you want to use a language other than C or Vala, you might need to mess with bindings. Official elementary apps will only use Vala (and some legacy C) because it makes it much easier for us, but that doesn't mean you can't use a different language for your 3rd party app. And the guide on the website is targeted at people who want to contribute to elementary (i.e. official apps) so of course you need to know Vala. Also, could it be we got slightly off topic? On Wed, Aug 21, 2013 at 11:57 PM, A. Xylon V. avlabs...@gmail.com wrote: At least we're doing better than Android in terms of our language tolerance... XD On a serious note, last time I read the HIG, it was mostly a set of UX guidelines though, which could be applied to any language. Unless, of course, the HIG has gained vala specific stuff... On Aug 21, 2013 10:51 PM, Albert Palacios Jimenez optimi...@gmail.com wrote: Hi Jakob, This is a project worked by volunteers, who are developing other things that are more needed right now. Such as a site showing how to fix bugs and collaborate with them, or a tutorial on how to develop Vala applications for elementary OS. If you want to contribute, you are welcome to make a proposal of a tutorial about Vala bindings to other languages, and how to easily port applications using Vala bindings. I am sure the elementary OS team (and the GTK community) will be very happy. Elementary OS is just making a realistic decision choosing one language and defining the HIG. This is how great projects grow, and how they stand to their principles. We would love if you understand that some decisions are just for the good of the project and its users. On Aug 21, 2013, at 11:47 PM, Jaap Broekhuizen jaap...@gmail.com wrote: So you want us to document how to build a elementary style app in any possible language? Thanks but no thanks. IMHO we should provide generic goals and guidelines as to how an application should work and what it should look like, and preferably describe a set of tools with which you could achieve that. Vala is just the tool elementary agreed upon to use for core apps, and it makes sense to use that knowledge to also create third party apps. If you prefer to use different tools for third party apps, that's entirely OK. But it makes no sense to try to document any possible tool with which you could make an elementary style app. -- Jaap On Wed, Aug 21, 2013 at 11:39 PM, Jakob Eriksson ja...@aurorasystems.eu wrote: Then there is an education / PR problem on the elementary.org page. It should be made clear how to make a HIG compliant app in any (where any=C++, hehe) language. On 2013-08-21 23:32, Albert Palacios Jimenez wrote: I think there are some misunderstandings: - The HIG is a must for core elementary OS applications but a recommendation for third party ones. - If you develop your application using a Model/View/Controller schema, it will be easy to make it look like an elementary OS just changing the View and leaving the original sources for Models and Controllers. This is why a lot of applications work across different systems, they get the view/look from the core libraries and work with a non core language. This is an appropriate way of developing applications, it works well not only for Linux but also for OSX, Windows, iOS, Android, ... -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Other languages? (Was Re: Congratulations Luna developers!)
Vala can target Windows and OSX last I checked. Also, Elementary can run apps written in non-Vala languages. Of course, it's not supported because Elementary's development resources are spread so thin and many developers here don't have expansive experience in other languages. On Wed, Aug 21, 2013 at 4:14 PM, Jakob Eriksson ja...@aurorasystems.euwrote: On 2013-08-21 22:59, A. Xylon V. wrote: The thing about vala is that its simple enough to learn, but is still very powerful and is extremely fast. The best thing is that it was made for Gtk, which is perfect for elementary. More languages would mean that we wouldn't have unity across the applications - I do however, think that this would attract developers, especially since vala does not have very good tutorials, or books. That is an understatement. Not having support for other languages is sort of insane. Scenario: I am a developer. I develop an application for Windows and, against commercial reason, make a Linux version of it too. It's coded in a mix of C++ and Python. I think Elementary is just fantastic, so just out of love I want to make my Linux app an Elementary version. I read the HIG and love it. Then I go to http://elementaryos.org/docs/code on the FIRST page I read: If you're not familiar with Vala, we highly encourage you to brush up on it before coming here. Sorry say what? No, not going to happen. I can't redo my app in Vala, even if I wanted to, because that means I can't run it on Windows. (Or OSX, or iOS.) The dev page should read something like for Elementary core apps we use Vala as a programming language. If you want to create your own Elementary apps, we encourage you to try out Vala, which is a fantastic language. If you want to use another language, that's fine too. Here are example Hello World Elementary apps written in C++, Objective C, Python and Ruby. --jakob -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Other languages? (Was Re: Congratulations Luna developers!)
To get this conversation back on topic, I'm experimenting with developing Gtk apps in Go (http://golang.org). Once I have that mastered, it shouldn't be too hard to make Granite apps given that Granite compiles to C. And Go is probably only a little slower than Vala but a lot more user friendly (the barrier to entry is a LOT lower, simpler design, better tooling, bigger community, etc). If you're interested in experimenting with me, let me know. On Wed, Aug 21, 2013 at 3:54 PM, Jakob Eriksson ja...@aurorasystems.euwrote: On 2013-08-21 22:35, Kurt Smolderen wrote: look at the code. As Vala is currently missing a decent IDE (such as Eclipse,...) and debugging isn't as easy due to the fact the code is translated into C, its often very difficult to analyse the flow of a program. Available tests might help this initial contributors with And when will it be blessed to create Elementary apps in another language than Vala? If Elementary would open up to other languages, we could REALLY see increased productivity and more contributors. IMHO Objective C, C++ and maybe even Java via GCJ would be the obvious candidates. --jakob -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~elementary-dev-community Post to : elementary-dev-community@lists.launchpad.net Unsubscribe : https://launchpad.net/~elementary-dev-community More help : https://help.launchpad.net/ListHelp
Re: [Elementary-dev-community] Congratulations Luna developers!
I'm not opposed; however, every time I've delved into Elementary development, I've found myself fighting too many tertiary fires before I'm able to get any real work done (usually it's chasing down one obscure environment issue or another). So basically, I would like someone who is competent at Elementary development to champion the project (to serve as its leader) and I and a few other TDDevelopers can coach the development team as well as help develop ourselves. Furthermore, this exercise will be more productive if we have other devs who are interested in *learning* TDD to participate. So basically, if you can find a few elementary-proficient developers to help with the elementary-specific problems (including a project lead), the other TDDevelopers and I can coach and develop along side them. Thoughts? On Wed, Aug 21, 2013 at 4:50 PM, Kurt Smolderen kurt.smolde...@empuly.netwrote: What do you think of giving Footnote some love? I think it is currently unmaintained (need to verify that), it's conceptually a rather simple application but offers a good set of practices for TDD/ writing tests. We need to verify first of course what the intentions of the current owner are, but I would personally like to see a new version of Footnote... Craig webe...@gmail.com wrote: I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. This. I've heard (and witnessed) a lot of projects drop their defect percentage from 20% to 3%. A lot of new-to-TDD developers don't like it at first because it feels slower, but I don't think those people remember how much time is spent bug hunting at the end of a release cycle. I think the next step is to find a pilot project and get the lead developer(s) to agree to work toward TDD. This will probably look like: 1) Modifying the project structure to include _test directories 2) Creating tests with GLib.Test or some such 3) Coaching/mentoring the developers at TDD 4) Performing code reviews in which insufficiently tested code is sent back for revision After testing it out for a few months, the community can see how they like it. Does this sound like a reasonable approach? If so, would any project leads like to volunteer their project? And who in the community would like to participate in such an experiment? On Wed, Aug 21, 2013 at 4:34 AM, Alex Lourie djay...@gmail.com wrote: Albert We don't need to exaggerate. Though TDD is, indeed, a development methodology, it is not supposed to completely change the way everyone works. Just consider that writing a good test takes about 10 minutes, and that each developer writes one or two tests for new stuff they add (or the old one they fix) from time to time. Then, in time, you'll have part of your code tested, which is exactly what we're aiming for. Beginning is hard, continue something is easier. I have never heard a project die because they decided to move to TDD. And I heard about lots of hits on the matter. On Tue, Aug 20, 2013 at 3:37 AM, Albert Palacios optimi...@gmail.comwrote: Hi Craig, Thanks for your explanation and the linked video. I am still agnostic, but I don't want to be the only one who complained about the proposal. At this point I have more questions than answers, and those will probably be solved with a working example. But remember, *TDD is a development methodology* not a testing methodology. It will change our development work flow, and will probably move potential volunteers away from the project. TDD like every other development methodology does not fit every project or team. It can be a hit, and it can even the death of the project. Albert On Tue, Aug 20, 2013 at 12:50 AM, Craig webe...@gmail.com wrote: Hi Albert, Thanks for your response, you asked a lot of great questions. In addition to Gufran's earlier response. Can you prove that there will be huge benefits in time/resources? Well, that depends on what you consider proof. In the spring, my company paid several thousand dollars to send me to a conference in San Jose in which many software development authorities recited, test driven development pays itself off in iteration 0. That means the very first time you write the code it has already paid for itself (because even before you get the automatic-regression testing benefits, you've already got the benefits of a better architecture and documentation--because the tests _are_ the documentation!). I'm sure I can dig up lots of other resources, but I think it should suffice to say that I've never heard an expert comment on TDD except to say it's fastest way to develop quality software. For more information addressing your specific concerns, se e the Wikipedia article's benefits section (and read on to the shortcomings as it is also relevant: http://en.wikipedia.org/wiki/Test-driven_development#Benefits. Even more importantly, this short video: