XulTitles! 1st milestone

XulTitles! has reached a time where its necessary to focus on P1 issues.

Until now I have working on coding funny things, I left them, I took others, and it was a bit messy because when I do the commits to my repository my question was: “What are the changes for this commit?” and finally I get nice and very reading commit-messages like:

Sigh. I really need to focus on different things but each one at its time!

So, the UI is there (no styles yet):


(Hi Paul, please, smile!!)

(it is highly possible that I will remove that textbox and progressbar under the play-pause buttons because it’s redundant with the video controls)

Anyway, there were not so much progress on UI (just added menubars, buttons and reworked some XUL code, but the main progress was done (obviously) on the backend. The SRT parser is now written by me! 😀 (I was using Paul’s one), I have refactored code that is used for GUI and file manager things, as well as the SRT parser and helper, and I have created the necessary stuff to made the application localizable (but it’s not yet possible).

This work has shown me how powerful is Mozilla code, XULRunner, Gecko and standards. With no more of 1000 lines of code actually I’m able to: open a file on my computer, show it in a window with buttons to control it, search for subtitles on the same path as the video, parse those subtitles and then show them in a list, and have the ability to change between different languages, and have code to save and diff subs. Just with XUL and Javascript! (HTML is used just in one line, and CSS… CSS… i’m not a designer! :D).

So the trunk is frozen 😛 And the tag “Milestone1” was created. Now… hack on serious issues!

And finally, I want to thank Vivien because he reviewed my code some time ago and caught some problems and show me better ways to resolve the problems I’m finding, thanks!

XulTitles! update

Since my last blog post 8 days ago, I have been investigating on how will be the UI (wow, UI designers have a privileged mind!) and basic tests with JavaScript and DOM manipulation as improving my knowledge of these two technologies.

And I think it’s time not to say how is going my project, instead I prefer to share various things about the development.

Since I’m developing a XULrunner application, maybe some things don’t fit for you, but anyway, some tips:

I’m using MacOS X, and there is a problem while running XULrunner app without installation, since if you try to write in a textbox the text that you entered will be displayed on the system console (Terminal) instead in the selected/focused textbox, so I’m using Firefox 3.5 as it is capable of running standalone applications, so to have an easy shortcut to open the project, I have added this line to my



alias xulSub="/Applications/Firefox.app/Contents/MacOS/firefox -app /Users/willyaranda/mozilla/mmtc/xulsubtitleeditor/application.ini -jsconsole"

and when I need to open the project:


and I’m done!

And the bolded argument: -jsconsole . It is a great way to show the Error Console to view Javascript errors, messages, alerts, XUL problems and any kind of debug information we need to know.

And about messages. I have been reading some ways to log messages to the Error Console, but the nice way (thanks FUEL!) is to put on Javascript files:

Application.console.log("foo" + barVariable);

And you will get a message!! Nice, isn’t it?

And just for you, a little screenshot! 😀 (comments welcomed) (the code is HERE)


A new project: XulTitles!

Hi guys! (post intended to Mozilla Planet Education 😉 )

A lot time since last blogging, but now I’m exam-free, yay!

But let me explain: from 13 to 17 of July, I went to the Mozilla Madrid Technologies Course (MMTC from now), where Pascal, Vivien and Paul explain us how to use Mozilla technologies, how to create an extension, how Gecko works and all mozilla related stuff that they could show us. (see Paul’s blogpost)

So, then we need to have a project to work on. We can choose what to do (extensions, documentation, Firefox or Fennec…), and there is a lot of nice projects (see the list).

In my case I have decided to work on a XulRunner app to create and edit subtitles with openvideo (do we love OGG/Theora, don’t we?) and right now I’m prototyping the functions and what and how to do in my app and a basic UI.

So in the next weeks I’m going to blog more often, writing about the progress I have done, I’m also crossposting to the Planet that Pascal has open to centralize all our work.

Have a nice summer!