Saturday, January 31, 2009

Saya developers meeting #4 (2009-01-30): Summary of Activities

This is a brief summary about what has been discussed in the fourth Saya-VE developers meeting.

About the team:
* Javier Galicia and AbsoluteDestiny were kicked out due to inactivity (and not answering e-mails).
* We have two new volunteers: Alexandru Tirdea, who unfortunately couldn't go to the meeting - but has been working on Video display on Linux, and Lubomir Dobrovodsky, a longtime Java programmer who's been incursioning in C++.

About the tasks:

* The most important task so far is the Qt conversion. Without finishing it, we can't go on. On the bright side, the main menu items are already present in the main Qt window (altho they're all enabled by default and the checkbox items behavior hasn't been programmed yet). As I haven't finished determining what changes need to be done to the code, other areas of development are stalled (I really need to hurry up with this).
* Work on the playback framework has been stalled (see above).
* Lubomir is going to train his C++ and Qt skills so that when I need him to add features and
* Rigo is going to research about the new video editor from Apple (iMovie, I think) and is going to send me some links to post on the "research" section of the website (which needs to be polished, of course).
* Jeff has suggested using the bazaar distributed version control system to speed up development. We discussed about it a bit, but unfortunately I have very little free time right now. But I'm considering adopting it.

About the next meeting:

Due to people from Eastern Europe joining, we've changed the meetings to the Saturday following the last Friday of the month (which most of the time will be the last Saturday of the Month), at 11AM CDT.

Saya developer's meeting #4 (2009-01-30) chat log

* rick_777 has changed the topic to: meeting tonight at 8PM
* nekohayo has joined #saya-dev
* rick_777 gives channel operator status to nekohayo
<rick_777> :)
<rick_777> oops wrong window
* Rigoberto__ has joined #saya-dev
<Rigoberto__> good evening
<Rigoberto__> sorry I'm late
<rick_777> Ok
<rick_777> brb
<Rigoberto__> Hi Jeff
<nekohayo> hello there
<Rigoberto__> what's up?
<rick_777> Ok, let's officially open the meeting
<Rigoberto__> cool
<rick_777> all agree?
<Rigoberto__> q: did you receive communication from the two new devs?
<rick_777> today, nope. But they said they would attend
<rick_777> maybe (again) there was some timezone problem :P
<rick_777> OK, so if there are no objections, the meeting is officially open.
<rick_777> *bang*
<rick_777> Now, it's been 2 months since the last meeting and a lot of things have happened
<rick_777> let me check the blog so I don't forget any.
<rick_777> There have been a lot of changes in the core
<rick_777> we have a new string class,
<rick_777> we have plans to migrate to CMake... (once I get Qt working)
<rick_777> the playback framework is almost working...
<rick_777> more core advances...
* LubomirD has joined #saya-dev
<rick_777> WELCOME!
<LubomirD> Hello to all am I late?
<Rigoberto__> Howdy
<rick_777> yes, but the other developer was late too :P
<rick_777> so we started 10 mins ago
<rick_777> Alright, before we start talking about you, let me give again a summary of events that happened during December and January
<rick_777> * New lightweight string class
<rick_777> * Migration to CMake proposed (still pending)
<rick_777> * Playback framework nearly finished - but stalled for the Qt conversion
<LubomirD> Ok great
<rick_777> * Qt conversion about halfway done :)
<Rigoberto__> halfway?
<rick_777> it's a rough approximation
<Rigoberto__> you did come up with an estimate!
<rick_777> +/- 50% :P
<Rigoberto__> cool
<rick_777> actually it might be around 30 or 40
<rick_777> but that's better than nothing :)
<LubomirD> yes of course :)
<Rigoberto__> I believe percentages doesn't work for software
<rick_777> i believe that, too, but the public needs an estimated figure ;-)
<Rigoberto__> but this is dev meeting ;p
<rick_777> at least the welcome dialog and the main menu have been converted
<Rigoberto__> what's left?
<rick_777> everything else
<rick_777> re-do the playback controls
<rick_777> implement the menu events
<rick_777> implement the menu items disabling on-request
<rick_777> and everything else that I hadn't done yet while in wx
<Rigoberto__> k
<rick_777> *AHEM* going back to the events
<rick_777> two people offered to join,
<rick_777> Lubomir,
<rick_777> and ...
<Rigoberto__> (papers noise)
<rick_777> Alexandru Tirdea, who I assume couldn't attend the meeting
* LubomirD_ has joined #saya-dev
<rick_777> whoa
<rick_777> what happened
* rick_777 has kicked LubomirD from #saya-dev (rick_777)
<rick_777> hello?
<rick_777> Did you get disconnected?
<LubomirD_> yes i am here
<rick_777> ok
<LubomirD_> No
<LubomirD_> I dont know wha thappened
<rick_777> Just be careful
<LubomirD_> yes
<rick_777> you don't want to get cloned and banned by the irc server on accident
<rick_777> try to keep only one window open
<LubomirD_> ok
<rick_777> Also, since it's already 9PM, the time for the people who were about to be kicked has expired.
<rick_777> Say goodbye to Javier Galicia and AbsoluteDestiny
<rick_777> total contributions to the project: Zero
<LubomirD_> so we start
<rick_777> Out with the old, in with the new.
<rick_777> Lubomir, what time is it there?
<LubomirD_> 4.00 AM
<Rigoberto__> Slovakia?
<LubomirD_> Yes :)
<rick_777> wow
<rick_777> you really put a lot of effort in there. That shows commitment
<Rigoberto__> we should definitely reschedule the meetings for morning america afernoon europe
<LubomirD_> Thats the reason I am late... I am sorry I was sleeping too much
<rick_777> maybe we'll move the next meetings to 9PM, is that ok?
<Rigoberto__> what about 10AM on saturday?
<rick_777> that'll give you an additional hour to sleep
<rick_777> 10AM?
<Rigoberto__> 10AM Central
<Rigoberto__> GMT -6
<rick_777> How about 11?
<rick_777> at 10 I'm usually eating breakfast :P
<LubomirD_> And to me it will be?
<rick_777> 6PM
<rick_777> you're 7 hours ahead of us
<Rigoberto__> GMT + 1
<LubomirD_> Aha, It would be ok
<Rigoberto__> is that ok with you Jeff?
>nekohayo< CTCP PING
* Ping reply from nekohayo: ? second(s)
<rick_777> Ok while Jeff responds, tell us more about yourself, Lubomir
<nekohayo> you need to mention my nickname, otherwise xchat doesn't notify me of messages
<rick_777> Oh
<rick_777> ok
* nekohayo reads
<rick_777> so, are you Ok with 11AM saturdays?
<nekohayo> what timezone?
<rick_777> yours
<rick_777> no wait
<rick_777> mine
<rick_777> 11AM CDT
<Rigoberto__> correct
<nekohayo> yeah, no prob I guess, I get up at 6-7
<rick_777> perfect.
<rick_777> New meetings will take place 11AM on the saturdays after the last friday of the month
<LubomirD_> Great
<rick_777> (yes that sounds complicated but please bear with me)
<nekohayo> I'd rely on you to update the google calendar for that :)
<rick_777> ow, my weakness
<nekohayo> so that it shows up on my calendar ;)
<rick_777> Ok. I'll try
<rick_777> remind me to update the calendar if I forget
<Rigoberto__> or an email to the list?
<rick_777> ^^;
<rick_777> yeah that works, too :)
<LubomirD_> :)
<rick_777> Lubomir, are you on the list already?
<nekohayo> you do know that you can set recurring events, right?
<LubomirD_> Yes I am
<LubomirD_> I am on the list
<rick_777> I deleted Javier Galicia now that I was there
<rick_777> hey, Alexander also joined the list
<rick_777> :)
<rick_777> maybe next meeting we'll see him
<rick_777> So, Lubomir
<Rigoberto__> why don't you set up the recurring event for the meetings now?
<rick_777> eh?
<Rigoberto__> I'm looking at the calendar now
<rick_777> Oh
<rick_777> I'll set up one
<rick_777> thanks for the info
<LubomirD_> So I am 25 years old
<LubomirD_> I am a professional Java programmer at Accenture
<rick_777> yes, tell us more about yourself
<LubomirD_> I've been working there for 2,5 years right nnow
<Rigoberto__> I used to work for Andersen Consulting (Accenture's former name)
<LubomirD_> Yes? That was pretty long time ago, not?
<Rigoberto__> Yeah! 1998-1999
<rick_777> ok
<LubomirD_> ... and I have also some little experience with C++
<rick_777> great, tell us more about it
<LubomirD_> I am programming some little home projects to learn more about C++
<rick_777> cool
<LubomirD_> and I made a little game for school project
<rick_777> Okay. Now, let's do this. Try to make some GUI projects using Qt.
<rick_777> and Code::Blocks IDE.
<rick_777> most of the work we'll do at Saya (after dealing with the codec / encoding stuff) will be the UI
<LubomirD_> Ok, I am learning Qt from the book about Qt 4 so I have no problem with it
<rick_777> so we need people to work on the timeline, buttons, controls, and all that
<rick_777> great! :)
<rick_777> Well, for now that's all you need to do because I still haven't finished the Qt conversion
<rick_777> and until I get things clear, I'm afraid I can't give directions for now
<rick_777> if we were in the military, the order would be "regroup!"
<rick_777> :)
<LubomirD_> :)
<Rigoberto__> lol
<rick_777> Hopefully I can have the conversion finished by the next meeting.
<LubomirD_> Do you have some ideas about how it should look?
<rick_777> Have you seen the screenshots on the website?
<rick_777> Nearly Identical, but with Qt :)
<LubomirD_> Yes
<LubomirD_> Ok, I will start with it
<rick_777> eh?
<nekohayo> rick_777: another advantage of using a decentralized VCS
<nekohayo> is that you could do all your QT switch stuff in a special branch, while others work in parallel on the core or whatever
<rick_777> Lubomir: I just hope you didn't misinterpret me. I meant: Work on personal "hello world" projects for now
<rick_777> until I get the main project fully working on Qt. Then you'll join and fix bugs / add features
<LubomirD_> And do you want the GUI to be made in Qt designer or handcoded?
<Rigoberto__> Jeff's raised and interesting point
<rick_777> You can try both... I'm designing the main window using the Qt designer.
<LubomirD_> Ok, thanks
<rick_777> Ok, so I guess the Qt conversion topic gets settled for now.
<rick_777> As Lubomir's joining.
<rick_777> You're now officially a member of the team. Welcome! :D
<rick_777> Now, onto Jeff's suggestion.
<LubomirD_> Thank You!
<rick_777> Using a decentralized version control system.
<rick_777> I like the idea, but I don't want to try out too much new stuff at the same time.
<Rigoberto__> Lubomir: Don't forget to send Rick you profile
<rick_777> I'm having a hard enough time with Qt already
<LubomirD_> ok I will
<Rigoberto__> Lubomir: is Lubomir your name or nick?
<rick_777> After the conversion's finished, we can discuss the usage of a DVCS.
<LubomirD_> name
<rick_777> Ok
<Rigoberto__> k
<rick_777> e-mail me your profile so I can add you to the webpage
<rick_777> Also, I'll need you
<rick_777> to get a sourceforge account
<rick_777> and a berlios account
<rick_777> the sourceforge account is for public relations
<rick_777> the berlios will be for submitting patches and commits, etc.
<LubomirD_> Ok, I understand, I will handle it
<rick_777> Ok.
<Rigoberto__> Rick: but I guess Jeff's point has to do progress management
<rick_777> Let's see... what's next?
<rick_777> Oh yeah. Lubomir, were you the one I asked about the project's mascot?
<LubomirD_> Yes I already asked my friends, I am waiting for their reply
<nekohayo> rick_777: so you're saying we should wait for a long work in progress to be finished before actually using a tool that allows you to manage just that?
<nekohayo> (see the irony?)
<LubomirD_> They are good experienced manga drawers
<rick_777> nekohayo: Yes, I can see the irony...
<rick_777> I'll try to be fast...
<rick_777> Ok, tell you what. I'll begin studying DVCS tools, but I don't promise anything quick.
<rick_777> Also, the job's been keeping me offline and tired
<Rigoberto__> I've done branches in clearcase and tfs
<Rigoberto__> no subversion tough
<rick_777> hmmmmmmmm
<LubomirD_> I understand that, I have also much work
<nekohayo> subversion is madness for branches and such, it is not a decentralized VCS
<nekohayo> it's in a completely different league
<rick_777> Ok.
<rick_777> So, in summary:
<rick_777> * Lubomir will work on learning Qt
<rick_777> * I'll work on finish adapting the code to Qt
<rick_777> AND learn a DVCS.
<rick_777> * Rigo will help me with the video playback controls (this time in Qt)
<rick_777> while Jeff.... keeps giving suggestions and feedback ^^;
<rick_777> which is no small feat, of course.
<rick_777> I guess that concludes our meeting. Anything else?
<Rigoberto__> one comment
<rick_777> Please share.
<Rigoberto__> or suggestion
<Rigoberto__> Mac release a new version of their video editor
<Rigoberto__> released
<rick_777> Oh
<Rigoberto__> since UI is top priority for Saya
<nekohayo> imovie?
<rick_777> we should copy it
<rick_777> right?
<Rigoberto__> I saw some pictures of it. It looks very user friendly
<rick_777> excellent!
<rick_777> Ok, Rigo, this is your new task: Collect ALL the information you can get on iMovie
<Rigoberto__> I don't remember the name
<rick_777> or whatever it's called
<Rigoberto__> k
<rick_777> video links, screenshots, tutorials, papers, etc.
<Rigoberto__> :)
<rick_777> and we'll post it on the "research" section.
<Rigoberto__> cool
<rick_777> Anything else, guys?
<Rigoberto__> did you decide what to do with the first donation?
<rick_777> oh - no, I haven't decided yet.
<rick_777> I guess it's still there, sitting as a "symbolic" donation
<rick_777> :P
<LubomirD_> :)
<Rigoberto__> so what about Alexandru?
<rick_777> Do you suggest me to donate it to the FSF?
<rick_777> Alexandru hasn't answered yet. But I have the feeling we'll hear about him... soon.
<Rigoberto__> since we need developers so badly
<rick_777> yes, we do
<Rigoberto__> I suggest we use it to hire a few programmer hours
<rick_777> i doubt $10 dollars will be of any use
<Rigoberto__> so what do you know about the donator?
<rick_777> he makes Anime Music Videos. Made one for AMV Hell 3 (or 4) i think.
<Rigoberto__> Interesting
<rick_777> Yeah. Anything else?
<rick_777> questions, doubts, suggestions
<LubomirD_> one comment...
<nekohayo> hiring programmers with that donation: *facepalm.jpg*
<rick_777> Lubomir?
<LubomirD_> did you see the Qt developer?
<Rigoberto__> I've heard in India a programmer makes 1000 bugs a year
<Rigoberto__> through some classes specs at elance
<Rigoberto__> just tought could work
<nekohayo> you'd have more luck buying a python book for working on pitivi or a cup of coffee to work on kdenlive, if you depend on that
<rick_777> Lubomir: Which Qt developer?
<LubomirD_> Sorry -Qt Creator - you can code in it and it has integrated Qt designer
<rick_777> Hmmmmm
<LubomirD_> It is in beta relase, but it will befinished and open source soon
<rick_777> Well, I don't want to rely on a specific software
<LubomirD_> Ok
<rick_777> Also, I'm not very fond of Qt's approach (preprocessing files before compiling them).
<rick_777> I like to have 100% C/C++ so I can modify it.
<LubomirD_> I understand
<rick_777> but use what makes you feel most comfortable (note: You'll end up having to use CodeBlocks, since it's our official tool)
<LubomirD_> Yes, I am programming most time in Code Blocks :)
<rick_777> but well, that's what programming is: Learning :)
<rick_777> Ok. I guess that's the last question for today.
<LubomirD_> yes :)
<rick_777> And guess what, it's an hour since the meeting was started.
<rick_777> So this meeting is officially closed.
<rick_777> *bang*
<LubomirD_> Good bye!
<Rigoberto__> bye bye

Thursday, January 8, 2009

We need a mascot!

While I'm busy creating Saya's new skin, I think it's time to create a mascot.

Unfortunately, I'm a terrible drawer. So I invite anyone with sufficient drawing skills and a good Otaku background to help us.

As a benevolent dictator (grin), I will define what mascot we'll have.

First of all, it needs to be a girl.
Second, it needs to be an anime girl (since Saya is a japanese name).
Third - she needs to be chibi - we'll follow Pixia's example.

Here are some of the features I'd like the mascot to have:

Name: The mascot's will be "Saya" (the mascot would be the software, following the tradition of the OS-Tans ;-)

Hair: She needs to have short hair - not too short, or we could be plagiarizing an existing anime Saya ;-). A bit longer than Kuchiki Rukia's should suffice. Maybe even longer, but not below the elbows. It needs not to be curly.

Head size: The head needs to have a reasonable size (NO powerpuff girls please).

Here are some examples more or less of what I want (caramelldansen):

The bodies need to be a little smaller. Something like this (pinky's), but keep the caramelldansen face shapes.

Edit (11:14PM): I think I found what I want. School Rumble's alternate ending 1 shows some perfectly-proportioned chibi girls ^_^. Of special attention is Tsukamoto Yakumo at 1:00. The head isn't overly huge, and the body is still well-defined.

Note that I chose the chibi-size so that the mascot can fit in a square space. But a little taller (not taller than the Caramelldansen figures) is perfectly acceptable, and even desired. Try to choose a middle ground if you can.

Eyes: Blue.

Nose: As all bishoujo characters - thin and pretty.

Dress: She could be wearing a kendo outfit (to honor her name), or a movie director outfit. Since Saya is virtual, you could give her a tron-like outfit that would turn into other outfits ;-) A kimono wouldn't be bad, either - but don't make it pink, it doesn't fit the character.

Breast size: Not too large, but not too small, either.

Constitution: Not too athletic, but not too thin, either.

Mouth: Not "X-3" styled mouths. Normal mouths, please.

Attitude: More like a cute smiling girl. Innocent, but intelligent. Not a joker, and definitely NOT a tsundere! (But she's allowed to get upset -.-# once in a while). But she needs to look cute at all times.

Here's an example smile that suits Saya perfectly: Wikipe-Tan (just the smile, not the body)

The rest is up to your imagination (just don't copy existing anime characters, please!).

Also, we need the character designer to be available for future redesigns and all that, so it requires commitment (or maybe we could choose someone else later, but oh well).

Any help will be appreciated. The winner designer will obviously appear in the software's credits!

Monday, January 5, 2009

It's Official: We're moving to Qt4!


We're disposing wxWidgets in favor of Qt4.

(End of announcement)

Unofficial comment by Rick.

I finally made up my mind. After an e-mail conversation with one of the VLC developers, I was told that they submitted quite a few bug reports to wxWidgets, and they were all dismissed. I was also told that wxWidgets was very difficult to work with, and recommended to work with GTK, QT, or anything _else_ (wow, is wxWidgets that bad?).

And my experience confirms it.

Now, I tried the QT4 dialog designer, and once you get the hang of it (you need to use a right-click menu to put all the controls in a layout, there's no standard button for that), it's a bliss. But is it compatible with GPLv3? Version 4.3.4 and up are. Hurray! :)

Sigh, so here goes YET ANOTHER month of changing existing code for arbitrary reasons. I'm lucky I had already adapted a lot of code from wxWidgets ;-).

I'll close this announcement with a famous quote:

"Chance favors the prepared mind".
Louis Pasteur