Get noticed 2017 – summary

By | May 31, 2017

When I’m writing this there are still 2 and a half hour to the end of “Get Noticed 2017 contest. Let’s wrap everything up.

The basic goal was to develop open source project and blog about this at least 2 times a week. I did a post about my project when I’ve released first alpha/beta version of it, you can read it here.

I won’t repeat myself and write about what was my project and such things. Instead, I’ll do short self-examination on paper, I’ve been doing this in my head for last week and I have some conclusions.

Planning

Good plan for your work is very important. I’ve had this plan from the beginning, I even had a roundup of blog posts I want to write along with their order. And everything was great for the first one and a half week.

First architecture change came, and next day came second. There were 7 or 8 of them in the first month. Adding new stuff now to my app is really easy, it’s fast and reliable. But 1/3 of my contest time was used for that.

If you’re making long-term plans be prepared to change them and validate them at least once a week. And don’t try to do everything perfectly, at least until vision and foundation is solid enough.

Still, I have nice, comfy and manageable architecture (which I’ll rewrite soon but we’ll talk about that soon).

Making and finishing

Writing code for Me 2.0 was really fun. But I’m not really happy about final effect. After all, I’ve got something on the with end-user functionality at the level of TODO list with a lot of great features with “coming soon” status. Why weren’t most of them finished? It’s simple – time. I could use an another month or so and I would implement many things that are in progress. A month that I’ve sacrificed mostly on rewriting architecture.

Still, I have released something that works with companion bot application on proof of concept advancement level.

Future

I’m not very happy about the final effect of Me 2.0 project. And I can do more that that. I’ll probably continue this project but I’m thinking about one major change. Microsoft recently introduced Cosmos DB with Gremlin API which is a graph database, a database with the great data model for mine project.

I’ll probably rewrite some part of my application to support that, I don’t know if I’ll continue using Akka.NET in my project yet, it depends on how it’ll work together with Gremlin API.

What does it mean for my blog? There are posts about Cosmos DB coming. And my Akka.NET cycle will continue since some people liked it and I really like actor model.

Gains

What I’m really happy about is technology stack that I’ve worked with. This was my goal since the time I’ve decided to take part in “Get Noticed” – playing with fun tech I didn’t use before. And mostly it was things that I’ve planned to work with for some time or just scratched the surface and wanted to go deeper.

And here’s list of technologies I’ve used, tested or researched in more than minor way:

  • Akka.NET
  • NancyFX
  • Vue.JS
  • Azure App Services
  • Microsoft Bot Framework
  • Microsoft Flow
  • Cognitive Services – LUIS
  • Cognitive Services – Content Moderator
  • Cognitive Services – Text Analytics API
  • Azure SQL
  • Cosmos DB – Document DB API
  • Cosmos DB – Gremlin API

Some of them were useless in the scope of this project but I’m pretty sure I’ll probably use them in other cases. I would say it’s a big gain.

Summary

If there’ll be next edition of Get Noticed and I hope it’ll happen you can count me in. And again I’ll pick some pieces of technology that I don’t know at all or would like better and mash up something together. Truth is – I’m doing this anyway on a daily basis because I do love playing with new stuff. Entire contest just gave this a structure and some kind of purpose, so final effect is something that works and is part of something planned because too often my experiments are just bunch of things stuffed into Program.cs.