diff --git a/web/blog/_config.yml b/web/blog/_config.yml index 568cc06d..6fff937f 100644 --- a/web/blog/_config.yml +++ b/web/blog/_config.yml @@ -5,7 +5,7 @@ reading_time: false words_per_minute: 200 # Your site's domain goes here (eg: //mmistakes.github.io, http://mademistakes.com, etc) # When testing locally leave blank or use http://localhost:4000 -url: https://coati.io/blog +url: http://coati.io/blog tracking: true # Owner/author information @@ -13,7 +13,7 @@ owner: name: Coati Software OG avatar: coati_logo.png bio: "Coati is cross-platform source explorer for C/C++" - url: https://www.coati.io + url: http://www.coati.io email: mail@coati.io # Social networking links used in footer. Update and remove as you like. twitter: CoatiSoftware diff --git a/web/blog/_config_staging.yml b/web/blog/_config_staging.yml index ad79ad19..89ded5d1 100644 --- a/web/blog/_config_staging.yml +++ b/web/blog/_config_staging.yml @@ -2,7 +2,7 @@ staging: true disqus_shortname: staging-coati -url: https://staging.coati.io/blog +url: http://staging.coati.io/blog owner: - url: https://staging.coati.io + url: http://staging.coati.io diff --git a/web/blog/_includes/navigation-top.html b/web/blog/_includes/navigation-top.html index 7fd19d71..8d3d4fa9 100644 --- a/web/blog/_includes/navigation-top.html +++ b/web/blog/_includes/navigation-top.html @@ -6,7 +6,7 @@
- + + + +
Comparison of the main interfaces.
+ + +The images above shows the interface of our first build compared to our current one. It still looks quite similar on the surface, but under the hood nearly everything changed. What stayed the same was our 3 component interface concept, consisting of search, graph and code, which has proven work really well. + +### Test License for evaluation + +One of the first things people criticised was the lack of test licenses for evaluating Coati before purchasing a license. Indexing your own source code was not possible with the trial build and we thought it was sufficient for developers to test Coati's user interface on our sample projects. We started offering test licenses via e-mail, which also turned out to be a great way of starting a conversation with our users and collect feedback. + +### Show references to local variables + +To better support understanding of source code within the function scope, we added highlighting for local variables. Before that we only provided information above function scope level. + +
+ + + +
+ + +### Introduced multi-threaded indexing + +Decreasing indexing time was probably one of the main goals during last year. There have been numerous improvements, he biggest among them was our move to a multithreaded indexer, which indexes multiple files at once. I'm not totally sure on the numbers, but I estimate we **cut down indexing time by about 70 - 80%** over the last year. + +### Launched a developer blog + +Shortly after our launch we quickly realized that we don't really have a good way of telling what we are currently working on and what's new in each build. So it didn't take much time, until we started a blog for our website. We post about every new release and also some related topics. My post about the [idea to Coati](http://www.coati.io/blog/why_working_on_chrom_made_me_develop_a_tool_for_reading_source_code/) was probably our most successful one and got us a lot of attention and new users. + +### Extended project setup capabilities + +With more and more people using Coati on more and more source projects we also got a lot of feature requests regarding project setup. There were a lot of configurations we didn't support at that time. Here are some features that were introduced to our project setup: + +* Project setup from compilation database +* Project setup from Visual Studio via plugin +* Defining compiler flags +* Excluding source files from indexing +* Support for environment variables +* Defining source file extensions + +
+ + + + + + +
Comparison of the project setup dialogs.
+
+ +### Added more code editor plugins + +We greatly increased the number of source code editors for communicating with Coati. We now have plugins for: + +* Atom +* CLion +* Eclipse +* Emacs +* Sublime Text +* VIM +* Visual Studio +* IntelliJ + +Please visit our [documentation](http://www.coati.io/documentation/#CODEEDITORPLUGINS) to find out how to use them. + +### Added table listing indexing errors + +Similar to the indexing dialogs, we didn't show errors during indexing that well. We just showed a list of all errors within the source code. Error messages were only available on hover. We added a new log view with an error table listing all error messages to tackle this issue. + +
+ + + +
+ +### Increased search speed + +The implementation of our fuzzy search algorithm turned out to perform pretty bad as soon as the indexed project reached a certain size. We rewrote the algorithm and also improved the design of the autocompletion popup, to show namespace information and file paths in a second line. + +
+ + + + + + +
Comparison of the autocompletion popup.
+
+ +### Added dialogs shown during indexing + +Our user feedback during indexing was very basic at first. We only showed some progress information within the status bar at the bottom of the screen. We designed and implemented dialogs for the different steps to provide a better user experience. + +
+ + + + + + + + + +
Dialogs shown during indexing.
+
+ +### Introduced support for Java + +Since fall of last year we are also offering support for Java. The indexing is done via [JavaParser](http://javaparser.org/) and [JavaSymbolSolver](https://github.com/javaparser/javasymbolsolver). We have constantly improved our language coverage and look into easier project setup from Java build systems now. + +
+ + + +
Coati Java support illustrated with the JavaParser sample project.
+
+ +## Roadmap + +As you can see, we spent a lot of time on feature development during the last year and we are proud of what we achieved. We could fill the biggest gaps in terms of functionality and we are slowly approaching our first release version Coati 1.0. However, there are still a couple of features on the list, that we plan on implementing until then: + +* Bookmarking +* Better indexer crash handling via indexer processes +* Java project setup from Maven +* Faster UI + +And one more thing... + +There's a major change about our product coming in a couple weeks. We will change our product name. Please stay tuned for our announcement. + +Thanks for reading and please share if you liked it! + +Follow us: [mail](http://eepurl.com/bRSSFf) - [Twitter](https://twitter.com/CoatiSoftware) - [Facebook](https://www.facebook.com/Coati-1529980600658370) - [Google+](https://plus.google.com/u/0/108949374849112775331) + + diff --git a/web/blog/images/birthday/3full_new.png b/web/blog/images/birthday/3full_new.png new file mode 100644 index 00000000..b0d204f2 Binary files /dev/null and b/web/blog/images/birthday/3full_new.png differ diff --git a/web/blog/images/birthday/error.png b/web/blog/images/birthday/error.png new file mode 100644 index 00000000..c5d42949 Binary files /dev/null and b/web/blog/images/birthday/error.png differ diff --git a/web/blog/images/birthday/full_new.png b/web/blog/images/birthday/full_new.png new file mode 100644 index 00000000..b5f18bd0 Binary files /dev/null and b/web/blog/images/birthday/full_new.png differ diff --git a/web/blog/images/birthday/full_old.png b/web/blog/images/birthday/full_old.png new file mode 100644 index 00000000..49d8fd72 Binary files /dev/null and b/web/blog/images/birthday/full_old.png differ diff --git a/web/blog/images/birthday/fulltext.png b/web/blog/images/birthday/fulltext.png new file mode 100644 index 00000000..169a4f4c Binary files /dev/null and b/web/blog/images/birthday/fulltext.png differ diff --git a/web/blog/images/birthday/indexing_bar.png b/web/blog/images/birthday/indexing_bar.png new file mode 100644 index 00000000..a0131481 Binary files /dev/null and b/web/blog/images/birthday/indexing_bar.png differ diff --git a/web/blog/images/birthday/indexing_fin.png b/web/blog/images/birthday/indexing_fin.png new file mode 100644 index 00000000..3b261be3 Binary files /dev/null and b/web/blog/images/birthday/indexing_fin.png differ diff --git a/web/blog/images/birthday/indexing_progress.png b/web/blog/images/birthday/indexing_progress.png new file mode 100644 index 00000000..9d38f5c4 Binary files /dev/null and b/web/blog/images/birthday/indexing_progress.png differ diff --git a/web/blog/images/birthday/javaparser.png b/web/blog/images/birthday/javaparser.png new file mode 100644 index 00000000..3e02d171 Binary files /dev/null and b/web/blog/images/birthday/javaparser.png differ diff --git a/web/blog/images/birthday/local.png b/web/blog/images/birthday/local.png new file mode 100644 index 00000000..5c660a16 Binary files /dev/null and b/web/blog/images/birthday/local.png differ diff --git a/web/blog/images/birthday/plugin_menu.png b/web/blog/images/birthday/plugin_menu.png new file mode 100644 index 00000000..b979dcef Binary files /dev/null and b/web/blog/images/birthday/plugin_menu.png differ diff --git a/web/blog/images/birthday/search_new.png b/web/blog/images/birthday/search_new.png new file mode 100644 index 00000000..c9c026cf Binary files /dev/null and b/web/blog/images/birthday/search_new.png differ diff --git a/web/blog/images/birthday/search_old.png b/web/blog/images/birthday/search_old.png new file mode 100644 index 00000000..48eca9f1 Binary files /dev/null and b/web/blog/images/birthday/search_old.png differ diff --git a/web/blog/images/birthday/setup_new.png b/web/blog/images/birthday/setup_new.png new file mode 100644 index 00000000..062cca15 Binary files /dev/null and b/web/blog/images/birthday/setup_new.png differ diff --git a/web/blog/images/birthday/setup_old.png b/web/blog/images/birthday/setup_old.png new file mode 100644 index 00000000..f05e4a1e Binary files /dev/null and b/web/blog/images/birthday/setup_old.png differ