Category Archives: Projects Dev

Development of AOS projects.

Progress 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

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!

 

Developers: Migration to Git and GitHub.com

This is a development-specific announce.

As part of the effort to help volunteer participate to this project, I just finished the migration of all our development resources to Git and GitHub.com

aos_github

You can now reach it using this the default development address: http://dev.artofsequence.org
Or you can get directly to the GitHub account for Art Of Sequence projects: http://github.com/artofsequence

The following is some details about what changed.

Continue reading

Focus in 2013 (part 3): Company Support

In the initial article of this series, I reported that I am working on living from my productions which mean I will officially create a company at some point:

Since mid-July 2012 I have been working full-time both on AOS (which resulted in AOSWP 0.1 release) and a video game (which I restarted using previous code I wrote through years). In the same time I’ve been doing the necessary steps in building a company sometime in the next year, for me to live from my projects. [...]

I’ll need my projects to make me live. The game I am making is designed to be commercially viable,  which don’t mean it will be but just that I’m focusing on making it sell-able at least enough to make me live from it. However, none of the current AOS projects is sell-able or even meant to be. [...]

The main point I’m trying to make is that I want AOS to be part of the projects of my future company, while still being open source, [...]

I have some plans [...]

This post will be about these plans.

objectives

Other than having a working and released version of AOS Designer out in the wild, another less technical objective, but still important, will be to make sure Art Of Sequence projects are supported by my future company, which means I benefit enough from it to be able to spend more time on it, or allocate resources or people on it. This will not be easy at all, but I will work to make it happen.

The core projects will stay free and open-source.

It is important that I first state some changes I will not make. The core projects, the AOSL format, AOS Designer and AOS Web Player will definitely stay open source and with a very free license (currently MIT but maybe it will change to a similar one). These projects still need to allow anyone to build commercial or free tools over, without any constraints.

My main commercial projects will be based on these technologies, so any improvements on these will be made public and free too. However, I am not sure if my commercial projects will be open source or not. Maybe some of them. Or if there will be a dual licence or not. The legal details requires to consult a lawyer but I have a general idea of what I want to do: just build some paid tools over my free tools.

Here are some of the tools I plan to build after AOS Designer 0.1 release.

New Players

Currently there is only one player implementation, unfinished actually, which shows how AOSL format can be exploited. Anybody could build other player implementations that would solve specific context problems. I see real opportunities, that I’m sharing without fear of having my ideas stolen as for the moment no serious effort have been made to exploit AOS code for commercial purpose yet, so I think I will have to pioneer them myself both for profit and demonstration. Here are some ideas:

  • Native players: what I mean is a player that can read the generic format I was talking about in the last article. Basically, it would be a player you install on your desktop or tablet or smartphone, then just play any story that you download. I believe this is less interesting commercially than the other projects, so I might do it for free and in less priority than other projects. If this will be open source, I think a lot of people will be interested anyway.
  • Native specific players: there would be an important difference with the previous case: the author of the story would generate a full custom application for his story. This mean the author can sell his story (that can be a series) as an application, the same way you sell a video game. This one is interesting for me because it would both help a lot of authors, it’s interesting technically and it seem viable commercially (by selling a license to the author). Also, it don’t force the author to pay, he still have the choice to use more generic players.
  • Embedded native players: one of the possibilities I envisioned when I started working on Art Of Sequence was to allow game developers to embeds a player implementation in their game code and use it do play some nice cinematic sequences. As a game developer, I know that most game companies have their own technologies to do this or just rely on video. But sometime, video is more expensive (in space at least) than using a custom tool that just display pictures and play sounds in a specific manner, to tell a bit of story. AOS technologies is exactly that, so providing a way to embed a player into a game might help a lot of game developers. It would help any other software company that want to display a story a bit like displaying a PowerPoint, so I think it is a commercially viable project too. What I’m not sure about is the nature of the “native” part of the project. Most game company use C++ to make games, but indie game developers tends to use anything that work. Maybe I’ll provide a C interface.
  • Flash player OR native player in Flash plugin: I’m not sure about this one but it is certain that it shouldn’t be very hard to write a player that runs in Flash. Maybe I’ll start an ActionScript3 implementation that would be free and read the generic format, and then make a native implementation (derived from the previous point) that would just run into the Flash environment (which allow native code now).

New Formats

In coordination with native players implementation, another AOSL-derived format is necessary. It would be a very compressed format, something like just byte instructions. The goal would be to provide this alternative (for a cheap price) in case you want to use AOS technologies in very constrained contexts (like embedded devices).

AOS Designer Plugins

After AOS Designer 0.1 is released, it would be possible to create plugins for it. Basically, plugins would only add some ways to constraint authors for specific platforms, like preventing the author to export a sequence that would not have a canvas size that fit into an iOS device. These plugins would go in pair with exporters that them-self are related to player implementations.

Other than plugins associated with commercial player implementations, I might build some utility plugins that would not be useful to everybody but would appeal to a niche of authors. In this case, providing a useful plugin for a fair price would also help both sides.

End of plans

Now that I exposed all this, it is time for me to first wish you all a happy new year (don’t drink too much!) and get back to work! See you next year!

 

Focus in 2013 (part 1): Communication

As explained in the previous post, communication about the project is, on all sides, a failure. Most people don’t understand the problem that is being fixed, the need nor the solution or how to participate to help. This really needs to be fixed as lack of participation on the development effort is the only bottleneck of the AOS projects. Here is what I plan to do in the coming weeks to fix this.

IMAG0194

The main information source on Art Of Sequence is this very website. In it’s current state, it have several problems:

  1. Text wallsTL;DR - any non-academic or already interested in the subject people will stop after a few lines of the text walls I put in each pages of this website.
  2. It don’t state clearly what is the problem being solved.
  3. It is not clear what exactly is the Art Of Sequence project. I mean, it does have some explanations about what it is but it is not clear enough how the AOS projects solve the unclear problem.
  4. The Web Player Demo isn’t clear enough what it is about, what is demonstrated.

That’s basically it.
The following is what I’m working on to fix all this.

New Website Front & Content

I started designing a new front page for the website that would be a simple static page that would look like a comics page. It would contain big sized texts with very short, succinct and concise explanations. Part of the page, in the biggest panel, there would be the AOS Web Player demo running, with a quick description of what the hell it is.
This front page should be done and public in the beginning of the year.

In the mean time I plan to radically rewrite each page describing AOS projects. The goal will be to make simpler explanations with more obvious examples of what it is about. I started writing and working these texts and I am confident it will be far better this way.

What is AOS

One of the first things I already changed in several places (including the project’s Twitter account description) is the quick summary of what AOS is.

Art Of Sequence is a set of “digital story-telling technologies”. No more, no less. This is a bit less precise than previous descriptions (which were different depending on where you look at…) but the specific technologies are different depending on what project you’re interested in, if you are an author or a programmer, if you are a reader or a digital comics enthusiast. Each project have a specific purpose, a problem to solve, but it’s only when all projects are put together that they shine.

I’m preparing a special intro to AOS that should be efficient enough to get the point of what are the problems and how each project solve a part of it.

Another important change in the way I will present the projects is what is AOSL. So far I often talk about AOSL as a “language”, but it’s actually a meta-format specification. It could be based on something else than XML, and it’s supposed to be used to create other more specific formats for specific platforms. So basically, I’m changing my discourse about AOSL this way: AOSL is an intermediate data format meant to allow different digital-storytelling tools and reader applications to work together. The AOSL page will be simplified and will clarify things by stating that not only it’s a potential standard for work files for different tools targeted at digital storytelling, for players and converters; it is also the base of future different file formats. More on that in the next article.

Clarifying the Demo

Originally, I planned to add clarification tooltips and other quick info in the AOS Web Player demo page, to make sure it’s clear what it was a demo about. Unfortunately I was short on time so I released the demo page as it is still today. Most people assumed it was an attempt at replacing Flash, which it is not. This is the hardest part to clarify as the demo don’t say what it’s showing exactly and most people will obviously say you can do the same in Flash. I know, that’s part of the point.

AOSWP demo is meant to show how the AOSL language works with a player implementation. This means even if I add clarifications in the AOSWP demo page, there will still be a need to explain better what AOSL is. The ideal demo would be to have both a Flash implementation and a JavaScript implementation of the same story in the same page. This way the reader would start to understand that the same story, defined using AOSL, can be converted to different platforms (HTML5, Flash, NACL, etc.) with almost no difference.

But writing a Flash implementation of a player, even if in my plans, isn’t a priority at the moment. I will not focus on this but I will make sure at least that the demo page is clarified.

Presentation (PowerPoint)

In the first half of this year I was working in Japan in a creative company which was interested in the kind of technologies AOS was, in particular as it is theoretically possible to build a digital manga editor business over these technologies. We couldn’t continue working together in the end, but when I was there I was allowed to take the time to setup a presentation about what AOS is. I have a copy here and with some modifications, I could publish it. I think it was a good intro on what is AOS.

However, I am a bit annoyed that it’s a PowerPoint. You see, the best way to present a technology that allow (or focus on) narration is to use this technology to make a presentation. Lacking an edition tool, as AOS Designer is far from being usable yet, I would have a very hard time today making the same presentation with only AOSL code. I hope to be able to do this in a few months -more on that in the next article- but clearly it’s not a possibility today. Is it tolerable to publish a PowerPoint for now? I have some doubt but I think publishing something OK today have more value than publishing something perfect in 6 months.

To Be Continued…

In the next article, I will present the development, purely technical points on which I need to focus my efforts on to both make the project going forward and attract contributors to help on the project.

If you have suggestions of improvements on the communication of AOS projects, or any other feedback, please comment here!

Focus in 2013 (part 0): Status & Context

First of all, Happy Holidays to you all.

In the coming days, I will publish my “plans”, or more precisely “effort focus”, for the Art Of Sequence projects for the coming year. As several months passed since last update (the release of AOS Web Player demo) I first need to put you up to date about what happened in the projects since then and also what problems we need to fix to go forward. Then the following articles will focus on different work fronts we need to focus on, with some ideas that will be attempted.

AOSWP_0_1_demo_doc_4

My (Future) Company

I’ll make a brief description of my current context as it is an important information to understand the following articles.

Since mid-July 2012 I have been working full-time both on AOS (which resulted in AOSWP 0.1 release) and a video game (which I restarted using previous code I wrote through years). In the same time I’ve been doing the necessary steps in building a company sometime in the next year, for me to live from my projects. I am currently paid by French government help (a percentage of my last salary from France) so on the money side it’s not perfect but at least I can focus most of the time on these projects, when I’m not doing other urgent works like moving to a new place again.

I’ll need my projects to make me live. The game I am making is designed to be commercially viable,  which don’t mean it will be but just that I’m focusing on making it sell-able at least enough to make me live from it. However, none of the current AOS projects is sell-able or even meant to be. They are half base code on which you could build commercial software on, half proof-of-concept. This unfortunately means that since November I need to focus more on my game development to quickly reach the point I can start sell it, impacting seriously the technical work on AOS projects. As some could have noticed, I didn’t do any code improvements since the AOSWP 0.1 release for this reason.

Actually, I did work on technical stuffs for AOS (in September and October) but it was more research code, which failed (but provided me good data) so I didn’t publish the code. So far, AOS projects didn’t move forward at least on the technical side.

Fortunately, I did work on some other aspects of the projects which might help the global projects more, as I’ll explain in the following paragraphs. The main point I’m trying to make is that I want AOS to be part of the projects of my future company, while still being open source, which means I will have to setup some solutions to be able to spend more time on it or have more resources (people helping on the open source side, companies helping, money to buy tools or hardware) to accelerate the development that is clearly too slow but cannot get faster today. I have some plans, but let me continue explaining what happened since last time, to get the full context.

Siggraph-Asia Communication Failure

The AOSWP demo release was a proof that it was possible to read an AOSL file and interpret it efficiently in something like a browser. This was a total success, even if the current web player don’t implement all features of AOSL 1.0.

This milestone being a success, there was a deadline associated to it which was motivated by the submission of pannel at Siggraph Asia explaining a bit what AOSL was about. This submission was a failure. There was actually two things that failed.

The first failure was that the submission wasn’t accepted which meant I don’t (yet) have an opportunity to explain what is AOSL myself to people that might be interested in it. Having good documentation (current one isn’t good enough, but I’ll get back to that) is a good thing but having someone answering your questions interactively is far more helpful for everybody. With help of some people in academic and commercial circles interested in AOS technologies, I will have other opportunities to communicate on this but it’s still an opportunity lost.

The second and actually more important failure is that the reviewers of the documented asked questions that made obvious that nobody understand the point of AOSL or even any AOS projects. Over the months I have come to believe that the whole communication around AOS projects, purpose and essence is just a big failure. This wouldn’t be a problem if there was a dedicated team (I mean more than one person) working on the project to fix this and make everything happen. It is actually the main thing that prevent the project from being understood by people who could be interested enough to help on the technical side of the development of the projects.

Communication have to be fixed. After having analysed what exactly was misunderstood, I spent some days working on designing some solutions to fix this. I’ll explain in details what strategies I’ll use in the next article, including on technical communication, so stay tune.

Promising Meetings

Around October and November, in Skype and in real life, I got contacted and had meeting with several people interested in AOS and in particular in AOSL which is the central core of the ideas behind all the projects. After some live clarifications on the purpose of these projects and where they are meant to go on the long term, we agreed that there was really something useful going on and that the main problem with the project is that it is going slowly by lack of resources.

Recently I got notified that several companies in France (digital) book edition circles have been made aware of AOS projects and seem to be interested in them. I don’t know yet what will happen but there are chances I will be able to have some important meetings with people that are in positions to help the project in significant manners, for both commercial and simplification reasons.

The communication fixes I’m planning will in part involve preparing presentations for different meetings and events. More on that in the next article.

Slow Development

As my focus shifted more on my commercial game project, the lack of contributions to the project made the technical development of all AOS stalled. I initially thought that the AOS Web Player demo would have piqued interest in Javascript enthousiasts, or even Flash enthousiasts maybe to write an ActionScript based player that would have easily read an AOSL file. It didn’t happen, unfortunately.

Part of the problem is communication of the concept itself, as pointed before, as few people understand the huge problem I’m trying to solve. Another part of the problem is the lack of good technical explanation of some important technical aspects of the projects. One example is that AOSL still don’t have yet a human-readable specification or complete tutorial, to help developers implement players or converters. AOSL isn’t very complex but it’s still not straightforward exactly how to interpret it without reading the comments in the XSD specification (which helps doing half of the parsing work, so it is still helpful).

The bigger problem is AOS Designer, the edition tool, which still isn’t usable today as it’s development have been paused while I was focusing on AOSWP. I actually worked a bit on it in last months but not in a very significant manner. One problem with this tool is that UI designers and other programmers are having a hard time helping without a first usable version showing them what is the core usage of it. I was asked to write use cases to fix this, but even writing blog posts burn (necessary) hours of developments that I should spend, with others in an ideal world, on coding the damn tools. UI designers need pointers to understand how then can help with AOSD and programmers need more specification.
Another problem with this tool is that it’s still technically the most demanding project. It require quite a lot of work, much of it would have been done quickly if it didn’t need to be cross-platform and very responsive. Some of the tools I use to develop it also had problems that will be fixed soon, so it made me loose a lot of hours figuring this out, but at least now it is clear what I need to fix to make AOSD development go forward.

As a reminder, if you think you might help with the project, or think you know some people that might help, please be my guest. All technical data, including all the sources of the projects, are available at http://dev.artofsequence.org and you can ask for pointers if necessary in the development mailing list.

Resume Work

Now that alll this is stated, I can start explaining how I will spend the time I can spend on AOS in the coming months of the next year. Stay tuned!