Progress Report 2013-05-20

As some might have noticed on the development mailing list, I spent some weeks in February working on AOS projects, got back to my normal work, then really switched almost full-time on AOS around mid-April. Since then I’ve been working on hard problems in the project. I also took the time to meet a lot of people interested in AOS and wanting to help. Here is a quick tour of what is going on right now and what I’ve done in the last few months.

4750635946_dbc0d2564d_b

Conferences and meetings in Paris

I spent some weeks in Paris both to attend conferences about programming and to meet some people interested in Art Of Sequence. The conferences were very interesting (and highly technical) but aren’t directly related to AOS. There I met a lot of programmers with which I discussed about this project. Exchanges with other programmers are always helpful! It was highly motivating for several reasons, one of them being that they quickly get interested in the idea (even if none of them have time to participate, unfortunately) and point to additional related information I might want to check to help the project. Another reason is that it is helpful to get some positive feedback about the project.

The other people I met several times, outside conferences, are related to companies in the the digital publishing domain, which is a very very new domain here in France- promising but full of traps. I exposed the philosophy and design of Art Of Sequence projects to their software development teams, which helped me validate my understanding by explaining and helped them understand the specifics of AOS. These people wants to help because they have some related projects and the slow pace of the development isn’t the best thing for them. Obviously, anyone can develop their own tools starting with what I have done so far (as the whole code is open and available on github), but the current state of the projects aren’t perfect yet to build over them; which is why I decided to spend more time this month on AOS. Discussions drove me to the same conclusions I had in the end of last year: AOS Designer needs a first release this year and AOSL needs to be upgraded to complete features needed for current digital story uses.

AOS Designer’s Architecture Rewrite

AOS Designer has always been the most wanted sub-project of Art Of Sequence. A lot of artists and publishing companies are waiting for such a tool, sometime with curisoty, sometime with strong envy, and surprisingly almost never with doubts. It’s also the main project missing to complete the production pipeline: create story -> publishable format -> play in a reader. But it’s a project that need to rely on AOSL to be stable and have at least a reader that can interpret basics of AOSL (like http://demo.artofsequence.org ) which is why it took so long for me to get back to AOS Designer.

There is no release yet of AOSD, but it’s a priority this year to get there ASAP. Until then, not only artists can’t help the project by providing feedback on it, neither developers who wants to help on this specific tool development. Indeed it is hard to help on a project you can’t play with first to get an understanding of what the fuss is about. This is a vicious circle I’ve been depressed about and I always knew, and have been confirmed several times, that the first release, even with only very basic features and even unstable, should unlock the situation.

Most of my recent efforts have been turned toward fixing some architectural problems in AOS Designer code, the authoring tool, which are currently blocking the development of this tool. I’m working on making the code easier to work with  because it was a bit of a mess on the architecture side, mainly because few years ago when I began working on it I rushed some parts when I was under pressure to release something ASAP. Anyway, my main goal for the weeks coming is to both fix the architecture and setup tools to accelerate it’s development. One big change of the architecture will also allow other developers to build their own front-end implementation, either through some kind of native GUI like I’m doing right now, or maybe a web application? I hope it will allow some people to play with the concept.

I will get into more technical details about my current work on AOS Designer in coming future developer-friendly articles. Part of them will explain why it have to be built in a specific way.

AOSL 2.0 and XAOSL

As you can see in the short online demo, AOSL 1.0 have been proven to do it’s work and to be readable by at least a javascript-based implementation of a reader (which is incomplete but provide features). But we need an upgrade to provide the missing part of the format.

I got only few feedback on the design of the format, so for a long time I wasn’t sure what is really missing and what should be cut. In the meetings in digital publishing companies I did recently, we compared one of their title, which is produced as an application instead of implementing a “player” to execute a kind of format – we compared it to features provided by AOSL 1.0 to drive the effort to a new AOSL version. It helped a lot identify what was necessary, urgent or what can be cut from AOSL 1.0.

With these data in mind, I’ve began to design a new version of the language which is not compatible with AOSL 1.0 which is why it will be 2.0 instead of 1.1. This new version should be a solid basis on which reader implementers will be able to work with. Not only that, it should also be a stable basis for the future versions of the format, if necessary.

However, this time I will not work alone on deciding if the format is valid enough. I will need people interested to give feedback on the format specification which I expect to publish as a draft next month. An even better contribution would be an attempt to implement that new version in some ways to give me feedback on problems related to the format’s design. I expect the digital publishing companies and interested people to give me that feedback because it is really in their interest to do it to help me stabilize the new version of the format and allow them to use it for real productions.

As AOSL is a “pivot-format”, as someone described it, it don’t alone solve the “create once, publish everywhere” problem. XAOSL, which is meant to solve this problem, will also have it’s draft which will be highly inspired by the ePub standard.

I should publish an article here once I manage to provide a first drafts, so stay tuned.

Considering a real Forum

Experience tell me it’s not necessary to setup a forum for a project if there is nothing to give feedback about. A forum have to be maintained both technically and on it’s content so it’s additional work. That’s why I didn’t want to have a forum for this project and just have a Google Group (which is basically a mailing list) for developers.

However, this have strong limitations for people who will give feedback on AOSL and AOSD along the year. I began to consider what kind of forum would help setup a community and that was about the time Discourse was published. Unfortunately I didn’t succeed in installing it the proper way on my development server, so just to check how it works I just used an install package that is currently running there: http://forum.artofsequence.org

EDIT: The temporary forum have been taken down, the real one will be installed soon.

It’s a temporary version of the future forum, the data will be deleted at the time I will install properly the real version (this version is killing the server’s performance but it’s not too much a problem for now). Again I’ll post here when the forum is ready and you will be able to discuss the projects in a more user-friendly way than through a mailing list.

The Future of AOS

Other subject discussed with digital publishing companies in Paris were about the future of this project (in particular AOSL which is the corner-stone of the solution). Since the beginning of this project I’m the only developer. Some people on the development mailing list have been wanting to help recently but were stuck by different problems that I’m fixing right now (other than pure communication difficulties). There are several changes to be made, a huge amount of work, but only one man in the team, which is a ever-lasting big problem for producing usable tools in a shorter time. Also, I mentioned in previous articles that AOS isn’t my main project (yet). I sacrificed several months of work on my “normal” project this year to work on AOS but there will be a limit to the time I can spend on it “full-time” without hurting my future very hard. I will certainly never stop working on this project, but I will have to slow down again development at the end of June.

Again, this don’t mean that the project will stop, far from that. I will just not be able to work on it like it was my dayjob, as I am doiong today. After the end of June I have to switch back to my main project as “full-time” job. The maintenance of the AOS project will go on but it will be harder to work on big changes, so I’m focusing right now on making development on these future features easier. What I want to avoid is to have to switch a lot between my projects, which is driving me totally crazy and a bit depressed. So I’m focusing mainly on AOS until mid-june, and will focus on my other project until the end of the year after that.

Hopefully, I will be able to develop enough to make the project easier to develop for newcomers. I will always be there to drive the project: if I can’t work on code, I can still apply push-requests provided by contributors. I’m open to suggestions of contributions too.

Another aspect of the future of AOS is building up it’s community. I’ve been discussing about possible events to setup in the future. Not sure if it will happen but some event ideas might really help make communicating this project to developers who are willing to help. It still requires that some more work is finished though, so I’m keeping working hard to allow this kind of future.

Back to coding (and maybe a bit of art too). Stay tuned!