A Week of Dev #7

Struggling with IDE

I ran into troubles with my IDE at the beginning of the week. For the record, I use VSCode on a Mac, and lately, my javascript tooling (Vetur) stopped working. VSCode ate all my CPU, and affected the whole computer responsiveness. It was hard to code under these conditions. Even with Vetur disabled, VSCode had hard time when enabling prettier, the PHP intellisense was unresponsive, etc. Maybe it’s because I recently upgraded macOS, or because I forgot to install some dependencies, I don’t know.

You also got to know that I’m looking for a web-based IDE for a while. I have been testing Eclipse Orion so far, but I just feel at home with VSCode. I didn’t try Eclipse Che or Theia but I should as they look promising. For instance, Theia allows you to build a customized IDE, having only the features you need, by simply creating a package.json file and installing it with npm. The thing is, it sounds both cool and tedious at the same time, and I prefer working on Cyca for now.

So, ultimately, I found code-server, which is VSCode in the browser. There are some pitfalls, although. For instance, some extensions don’t work at all, like… Vetur again, or the markdown previewer, or even the formatters for PHP. And this is why I didn’t published any commit on this Monday.

Finally, I suppressed everything related to VSCode from my dev computer, re-installed it and extensions one by one until I found a functionning combination, and now it seems to work properly. I should have done that since the beginning, but I wanted to explore so - wrongly - called “cloud IDEs”, but I didn’t expect it would cost me so much time…

History

I’ve improved the history routines a lot. Now, each model defines itself as having a history by adding corresponding trait, and has its own views to represent it in the history. Basically, templates are decoupled from the code. Before that, the code was merely a prototype, a proof-of-concept if you will, and, while it worked, it was not scalable. So this update was a top-priority.

It makes the code easier to read, and moreover, easier to expand: Now I can define more events to add to the history, and add more elements that can have a history, which will make total sense for the next update.

The next update

The next update will be THE one. I have been working on it since about a week now, and if it wasn’t for my struggles with my IDE, I would have worked even more on it. I’m a bit sad I can’t already release it, but - hopefully - I will next week.

I’m purposefully secretive about this feature, not because of some weird business secret, but just for the fun, although I’ve never seen it in any other bookmarks or feeds manager. I’m already using it and I love it, hopefully you will too.

It will be the last feature added to Cyca prior moving to the v1.0, meaning that everything I wanted to add to Cyca for it’s first major release will be done.

Cyca’s version will be 0.8.0 when releasing. I will then fix what needs to be fixed, but I won’t add new features. And the v1.0 will be released once I’m satisfied, probably in the second half of November. Cyca will then be considered stable, and we could go further. For instance, a hosted service might be made available, but for this to become live, I am going to need your help with a few things:

  • Donations

Because owning a hosted service costs money and I don’t have a steady income, I cannot support these costs by myself. However, if you make a small donation, you will allow this service to exist. You will also allow me to continue my work on Cyca, which in turn will allow you to continue to enjoy it !

  • Translations

Translating Cyca is easy: there is only one file to create. Just copy the existing French language file, and modify it to yours. Then submit your work through a pull-request.

While these are the most important contributions you can make to Cyca, you could submit pull-requests to fix issues or add features too. Finally, you could also spread the word to your social networks, tell your friends about Cyca, so its community can grow !