Tuesday, May 17, 2016

Angular attack 2016 hackathon review



It was a first experience of an online hackathon for me. On the one hand with doing hackathon online you don't have that close interaction with other participants, looking at each other's screens, having fast-food-and-beer dinner together and don't feel this unity of people involved, gathered in one place to achieve something.
However, on the other hand that makes your team more flexible in time and work planning during a weekend time. It also helps to gather an order of magnitude more participants across the globe.

Please find my view on the passed Angular Attack 2016 below:

My team (PixelsResearchInstitute) choose to use Angular 2.x for your application mainly for the purpose to get extra points during the competition ;) Also good reason was to lear more about Angular 2.x and try to build really working app, based on A2 core and applicable components.
It turned out to be task on it's own because of the following reasons:
  • not that many modules/plugins for A2 (developers, that's a great time for everyone to build a tooling that will be used by millions!). 
  • the existing plugins may be incomplete, buggy, lack documentation or even fail to work with current A2 version. There was even a special app created during the hackathone: ng2use - it helps you to find out the compatible Angular 2.x version.
Something like this:

Using partners services

There was bunch of services available for participants, one could spend quite some time trying to integrate them all. We've tried several of them, but some either didn't fit our app goals or we could not  bootstrap them in a short amount of time, so had to leave them behind. So here I'll just list the ones that we've made decent usage of:
 - Rollbar - worked well for monitoring, all error notifications grouped nicely were on the dashboard, and my mailbox was full of them as well most of the debugging time;
 - Surge, the deployment service worked quite well for us after quite straightforward configuration;
 - icons8, we got the icon package from guys, and we really should have made use of it (imagine more than 1k of high quality icons available in SVG, PNG, etc.) but our team didn't have a designer in place while all the team was busy fiddling the code;
 - Wijmo - tried to use that one, looked really promising, but again lack of time on our side;
 - Opbeat - performance monitoring made easy - worked for us.

Event results 

According to the event website there were over 30k commits done by +280 teams. Slack channel had always >120 users online throughout all time of the hackathon.
It was a great gathering of enthusiasts with their ideas and energy to build useful and just funny stuff and eager to learn new things. Now all the apps are available for viewing (and rating for participants) so you can spend some time browsing this huge list of creativity embodied in the web apps.
We're all now looking forward for the judgement results in 2 weeks!

Expats around app

We've tried to create a proof of concept for a geolocation app for people who live outside their homeland - expats, immigrants, refugees. Living abroad for a longer time you may seek to find compatriots, people speaking the same language in the neighbouring area.
Besides the fact that 3 out of 4 team members were exactly fitting the target audience for the app, being expats, I can't state that the idea is such a groundbreaking and originally outstanding. We even found some team that was doing something similar, but from the chat prospective - https://lablablab.2016.angularattack.io/ - probably we should merge our apps to one ;) However I still believe that it may become useful for local expat communities.
We've already started writing a backlog of bugs, feature proposals and improvements.

Being said that did not have much experience in Angular2 so we tried our best to make it work:
For UI we used Angular Material (@angular2-material), which is still incomplete. The data model for now only contains data about the users (language, name, location, etc) and it was stored in Firebase. For the social layer the Facebook login SDK was used; Plus we've used Google Maps( via angular2-google-maps).


More details you can find on our team's page: https://www.angularattack.com/entries/638--1.