The discussion just moved to a different topic IMO. By refactoring client we’re not saying client is most important than server, but we’ve found some time to spend on it and, given that we received some feedback related to Erizo Client in the past and we didn’t have the time to apply it, we wanted to hear again about ideas or comments about the current code.
We don’t aim to create clients or put a lot of effort on mobile clients now, but if we can improve the support by just including adapter.js it could be a big win for people who work for those native apps. We’ve found out that by using adapter.js we can reduce code in the stacks.
Besides, there are still some connectivity issues that are not being logged or handled properly, so we’re taking the opportunity to improve it in the client side.
It seems like socket.io can introduce incompatibilities in apps, so we think it makes sense to add an option to skip it during erizo client bundling. And we’ll update it to a newer version too. We’re also considering to improve the way we execute tasks to build Erizo Client, and will probably adopt Gulp, Grunt or any other task runner.
As you might have noticed we’ve started to refactor the client already. We’re now using eslint to check code style! As in other situations, this work is in progress right now in the master branch so I’m afraid we might introduce temporary bugs during the process, once we finish the work we’ll start testing all features again. Anyway, we don’t aim to introduce breaking changes in the API to reduce the impact on your apps. If we feel like there’s some thing we need to change there we’ll let you know properly in this thread too.
WRT the other feedback you commented here, in general we agree on all the things (webrtc 1.0, erizo trees, new browsers, h264, upgrading mongodb, etc.), we’ll try to include them whenever we think they are a priority and we can spend time on them.