iOS and Safari support?

30. May 2018, Robert Klotzner - gonimo-development

iOS Support?

Good news! It seems that with the latest iOS update, Gonimo finally works on Safari!!!! We need to do some more testing, to make sure everything is working nicely, but things are looking good! :-) With a little luck, we can finally put "Safari & iOS support" labels on our landing page! :-)

New UX

Also the new UX development work is coming along nicely lately, so awesome times for Gonimo: New UX with a much simpler setup, better looks and pure awesomeness and a much better foundation for further feature development getting in reach and iOS support - what more to desire?

Gonimo is going to be .... wait for it ..... and a bit more ...... legendary! :-)


Gonimo for Android free of charge for seven days!

15. May 2018, Robert Klotzner - gonimo-development

Gonimo for Android for free

While Gonimo is open source, we charge for downloads on Google Play, so the project can be sustainable one day. The good news for you is, with the beginning of this week I launched a new version of Gonimo which behaves quite a bit better on Android and to celebrate this, we made the app free of charge for a full week! So if you don't have installed Gonimo yet, go and get it!

New Gonimo release

We improved Android support quite a bit and made the app less annoying. The Android back button is now supported and the notifications we use to make sure Gonimo stays reliable are now much less intrusive. You only get notifications when they are really necessary. We also improved the Share button, for sharing invitations as it was not working as expected on some mobiles: The choice would be remembered and you would no longer get to choose the next time you press share. This is fixed now and Android will ask you every time with what application you'd like to share the invitation link.

Outlook

Next steps will be continued work on our new simpler user experience design and invitation sharing via a short code you can type in. Then at some point I want Gonimo to have automatic reconnections on connection loss, because currently if you have a pretty bad connection Gonimo can be quite annoying with alerts all the time, where you manually have to intervene.

Stay tuned!


Babystation: Video not working on Chrome 66

24. April 2018, Robert Klotzner - gonimo-development

Update

The issue has been fixed, updates are being rolled out.

Original post

We just became aware that Gonimo no longer works properly on Chrome 66. If you operate Gonimo as baby station on Chrome 66 with video on, you will not be able to connect to the station. If you disable video, everything works as expected. We are investigating this issue right now and hope to find a solution soon.

If you don't have automatic updates turned on (we usually recommend to do that), please consider postponing your Chrome update until we have figured out the issue.

Also note, that the native Android version is affected too, as it uses Chrome under the hood.

We are sorry for the inconvenience and are working hard to have things fixed asap.


Android app

15. March 2018, Robert Klotzner - gonimo-development

We are on Google Play!

It's there! Finally - we are on Google Play! Yeah go, get the app! We currently have it there for 2,99 €, which should be affordable and don't worry: Also the Android version is fully open-source, it's just that we charge you for the convenient download via Google Play, so we finally have an income for our project.

So go and get it!

Currently, the native Android version, offers the same features as the web version, but runs a tad faster and can be conveniently started like any other app. Also if you had issues with Android power savings, killing your connection after a few minutes, you might want to install the app as we were able to fix this issue there.

Next steps

Now we will focus on improving our user experience, starting with a new invitation mechanism, where you can simply type in a short code for device pairing. We can't say for sure, whether we will be able to get this production ready in that sprint, but we have a new policy that every sprint at least some new feature will be launched to production ....


Android app coming soon

20. February 2018, Robert Klotzner - gonimo-development

Status update & Brain dump

I have to admit I am not really much of a blogger and I just realized that my last post is already ancient, so here comes a little status update and a personal brain dump for the interested.

What happened in the last months?

Well it has been a time of real ups and downs. A lot of motivation (ill guided at times) and none at all. Good team work and non at all. Somewhere in October last year I realized my motivation is dying, so I decided that our most important priority must be to get the Android app out there - we need to reach more users and we need some income. Firstly because, well, one needs to live from something and second to get some validation. Are we building something people want? Will people be willing to spend money on it? So we got going, and made really good progress. It was actually far easier to get the Android version done than expected. But then, well Robert happened: I had some great ideas for revolutionizing the architecture of Gonimo and started working on that. As always, I underestimated the needed effort by a ridiculously high factor and something I thought, I might get working in like 3 weeks took me 2 months and wasn't even finished then. You can have a look at the results in the reflex-backend-tryout branch, which has about 90 commits that will never get merged. I designed a new protocol for Gonimo (server - client communication) which centered around the idea of just synchronizing state. I am actually pretty proud of that work, it became a nice architecture and it is very well documented. But I then realized that it wasn't all roses, it had it's drawbacks too, also it became apparent that the old architecture wasn't that bad in the first place.

Also you don't get anywhere if you constantly rewrite everything, you got to make small demand driven incremental changes. That's not rocket science, that's actually common practice and I knew that beforehand. I learned quite a bit about Scrum and I really liked it, but living it in practice is an entire different beast. If you do stuff incrementally, you end up with a lot of work that seems wasted. Why should I implement that step, if I know already that it is only temporary and will get removed in the near future? Why even bother finding the next small step in the first place - that's not an easy endeavor either. How do I get changes to be small and incremental? They are not born that way.

It is of course not wasted work, because it avoids running in the wrong direction for too long. If you take the effort to make changes small and contained you get early reward and more importantly constant feedback, from users and from yourself.

But I had to learn that the hard way. I had to waste almost two months of work, at a point in time where motivation was already dying, to realize how to not do it.

I am really grateful for that experience, because it changed me. I took a step back, decided to kill Gonimo, thought a lot, talked with my team members and finally I became really happy. Happier than I had been in quite some time and I took my decision back. It is hard to describe, but I am definitely became a smarter person. Now I am solving real problems, instead of just chasing the "perfect" architecture, which actually can't be that perfect if it wasn't built incrementally solving real day to day problems.

Last but not least, my team finally stepped up. They are really supportive and we work together as a team, far better than it ever has been. We will get the Android app out there soon, with a whole bunch of improvements coming next.

In the last sprint we solved nearly all remaining problems of the Android app and I got to improve the architecture incrementally in a very significant way. ;-)

Lessons learned

If you can't really estimate a tasks complexity it is not allowed to go into a sprint

Instead you should do the necessary research, to get an idea. So sprint planning is no longer looking at user stories, a little discussion and then putting them in. If user stories implementation is not obvious, you have to look at the code, do Internet research - get an idea. If that research takes too long, make it a user story on it's own.

Importance of planning and evaluation

Before you enter the working tunnel, you should make sure you are digging into the right direction. That's why planning is that important. If you have a good idea, talk with others about it. If they agree it is a good idea and solves actual problems, think about the complexity of the change and how you can break it up. Is it possible to gradualy implement it, in many small steps? If not, try it out on a very small example project, see whether it can in fact pull it's weight.

If you can't explain what you are doing to your colleagues - don't do it.

If you can't explain it, how are you going to implement it?

Well, from my own experience I can say: It works! You can implement stuff you can't explain or even understand yourself. That's what I did for almost two months. But it is ridiculously painful and you are going to make very small progress. You will be much faster, if you take the time, to discuss your ideas with colleagues, try to make it smaller and implement parts of it on a really small scale.

Document your code well and immediately

If you explain your code in comments, you are force to think about it. Especially if you try to do it well. How is this datatype supposed to be used, what are requirements, how is it supposed to interact with other entities. Who is the caller of this function? This is especially important for architecture crucial data types and functions. When designing the new protocol, I constantly documented it and realized my own faulty reasoning immediately. Writing documentation is almost as effective as explaining it to a co-worker, probably because good documentation does exactly that.

A side note: I threw quite a lot of documentation away in this progress, because the protocol evolved further. This makes it tempting to delay documentation until you are confident the API is somewhat stable, but the very writing of this documentation will help you to reach this stability faster, so I no longer consider it wasted work at all. Alternatively, explain your stuff to colleagues!

Architecture

As mentioned before, I have a really nice new architecture for the frontend, which I am building incrementally in small steps. I think, I will have a blog post about it on it's own in the future.

Android status

Most bugs and issues are fixed already. What's still missing:

  • Camera selection is still broken. For some reason it is not possible to pick the back camera, you always get the front.
  • On my phone, the app looses connectivity after a while after the display went dark. So far I was not able to reproduce that issue on any other phone.
  • Nice to have: Android back arrow button support. Currently if you press the Android '<' Button you will leave Gonimo, instead of getting to the previous screen.

The next sprint will mostly be about organizational stuff though: Getting a Google Play developer account and stuff like that.

Feedback

If you like Gonimo or don't like it for particular reason, please consider filling out our feedback form, it is just a single page with a handful of questions. Getting actual feedback is good for motivation, which in turn will result in Gonimo getting better. ;-)


Status update

17. November 2017, Robert Klotzner - gonimo-development

So much work, so little time - status update

I am really busy right now with a lot of things, so I barely find time for blogging about it. So in short what is going on at Gonimo:

  • Android App: I already have a native version of Android running on my phone, it works already but needs some polishing/fixing of minor issues.
  • New Logo/Art work we have already some very nice drafts!
  • Haskell Exchange: Martin and I have been to Haskell exchange in London, which was very inspiring and motivating. It was totally well spent money, I got a whole lot of new ideas for making Gonimo better.
  • Meeting with A1: A1 is interested in supporting us as a startup, they approached us at ARS Electronica and we had a very promising meeting this Tuesday.
  • New protocol: Based on our experience, we will improve Gonimo's architecture further. One major building block will be a new Server/Client protocol which I want to deploy before launching the App, as installed Apps can't be updated as easily as Web clients. I hope to finish this work in the next three weeks.
  • New UX: We already have a really awesome new concept which we will adjust and fine tune this Saturday.

Current Plan:

  • End of this year we will hit Google Play with our app.
  • February to March: We will launch our new UX.

This was just a short status update on the development of Gonimo, now I am going back to work - we have deadlines to meet ;-)


Beware: Chrome 61 for Android regression!

01. October 2017, Robert Klotzner - gonimo-development

Chrome 61 for Android Regression

First things first, we just discovered a regression in Chrome 61 for Android. If you upgrade to Chrome 61 it might happen that Gonimo is no longer usable as a video parent station. The bug shows the following behaviour: The video on the parent station stays black, the volume meter does react to sound. Sound is still transmitted though. We already reported the bug to the Chrome developers, we got the promise that it will be fixed in Chrome 62.

We recommend skipping the update to Chrome 61 on your Android devices and wait for Chrome 62. If you upgraded already (auto update for example), you can still use Gonimo with Audio only - this works just fine. Alternatively you can try Firefox mobile in the meantime.

One note, apart from this very unfortunate regression, we really recommend keeping your browser current - which works best with auto updates. It would be nice though, if Google allowed users to manually downgrade in case of such issues.

A current browser in general will offer you the best experience, has security fixes applied and makes our lives as developers easier, as we can take advantage of newer browser features and don't have to find workarounds for bugs and limitations of ancient browser versions.

New Team Member

We are very pleased to have Julian on board now. He is a great artist, who is going to take care of our art work needs. The first drafts for our new logo, left us stunned! Many thanks to Julian!

iOS progress

Apple still has potential to drive us crazy. We are lacking Apple hardware, so we tried installing Mac OS in a virtual machine to get going. This proved to be quite involved. My machine just crashed all the time, Martin's machine is installing the images a second time right now, as we write this article. We hope to have a working environment soon, so we can fix the iOS/Safari issues that are still there.

New User Experience

We strive to make Gonimo even easier for you. Both Martin and Chris finished their first drafts of the new UX, this sprint and we already had quite a bit of discussion. The UX is taking shape and we are getting more and more satisfied with the progress.

New Logo

Due to our recent parting with our graphic designers we are in need of a new logo. As already mentioned, the sketches by Julian are amazing!

New Alert Sound

We got the feedback from our users, that our current alert sound can be annoying at times, so thanks to Hannes we have a new one!

opensource.com Article Online

Last but not least, our opensource.com article about Gonimo got published! You can have a read here!

Stay tuned!


ARS Electronica Festival 2017

17. September 2017, Robert Klotzner - gonimo-development

ARS Electronica Festival 2017

Thanks for visiting, thanks for your interest and sharing your ideas! It was a great festival, we are very glad that we were able to be a part of it, although we are still recovering.

Some of the ideas:

  • sleep-tracker
  • breastfeeding notes
  • food calendar when changing from breastfeeding to cooked food
  • diaper diary
  • push to-talk
  • turn on video when audio is loud

Together with sonicontrol, a fellow netidee project sharing the room at ARS Electronica with us, we birthed the idea of pairing devices with ultrasound, an endeavor that is in the future, but nevertheless a great idea to try out.

opensource.com article

We finally finished our opensource.com article, to be published soon! We are glad and grateful, we could write for one of the largest open source news platforms.

TURN server and backend bug hunting

We found the cause of a long lasting problem with our TURN server. After each reboot of our server, coturn would not properly relay connections. It turns out the systemd service should depend on network-online.target instead of network.target so it would also listen on the ipv4 address which gets set via DHCP.

This bug might have affected you, if you used gonimo over the internet.

We also hopefully fixed an issue with our backend hanging from time to time. It seems to have been caused by a ghc bug. We switched to the single-threaded runtime for now, until we upgrade to ghc-8.2, where this bug is already fixed.

Telegram does not work currently

At ARS Electronica we noticed that our invite via Telegram button no longer works correctly. This is most likely caused by a recent Telegram update and we already reported the issue. We hope this gets resolved soon. In the meantime, please use the "copy to clipboard" button as a temporary workaround.

gonimo & iOS 11

iOS 11 will support webRTC, meaning gonimo will now be available for iPhones and iPads too! We still have to get our hands on an iPhone, so we can fix the inevitable issues that will pop up. If you are an apple user and have some developer skills, any bug reports with browser console output would be really helpful for us!

New Ux

Despite the ARS Electronica festival eating up a lot of resources we managed to work a bit on our new UX design. Which will be our main focus in the next and upcoming sprints.

Stay tuned!


New Landing Page

03. September 2017, Robert Klotzner - gonimo-development

Sprint: ARS and Landing Page

ARS Electronica Festival 2017

As we have already announced the gonimo-team will attend the ARS Electronica Festival 2017 in Linz. We are really looking forward to see what you think of us and of course what uses of the app you have or which ideas you think would be worth bringing into gonimo.

Bug hunting, catching and squishing

We are proud to say, we have found the cause of a few more bugs in the app, gonimo not reconnecting - is no more an issue, or at least we have no indication of it occurring after a week of testing. With regards to the bug, where gonimo complained about it being open in another tab, without it actually being the case, we are quite confident to have fixed that one as well. Robert happened to be able to debug one of the rare occurrences of this on the phone, found an unhandled exception - and fixed it.

Land ho - a new landing page is launched

Gonimo has a new look: tell us what you think of it. This has been a major task for the last few weeks and we are proud to see, what the team has achieved - despite us working full or part time, having two children to take care of, or being self employed.

A glance in the future

Gonimo is getting a new user experience, more polished, less clutter and easier to use. Thanks to Fluid and balsamiq we have access to professional prototyping/wireframing tools. Something they provide for free to non-profit organizations. Thus we will be using the product of their hard work to build something better for all of you.

We have already done some sketches and models, but nevertheless it will take some time - so be patient with us. We hope we can show you some of the progress in the near future.

See you at ARS Electronica!

Stay tuned!


Stability improvements & ARS Electronica preparations

19. August 2017, Robert Klotzner - gonimo-development

ARS Electronica

We will present gonimo at "ARS Electronica Festival 2017 AI: Artificial Intelligence - Das andere Ich / The other I" from 7th to 11th of September.

Come and meet us there, bring some food or chat with us ;-)

We also have a little surprise prepared ... Looking forward to seeing all of you!

New Landing Page

We are also working hard on a new look for our landing page. Unfortunately our former graphic designers have left our team, farewell to Romana and Chris, their good work will be missed!

Fortunately, Christian has recently joined our team as product owner, while managing the team he is also passionate about the look and feel of gonimo. Together we are confident to push gonimo as a team. We plan to release our new landing page soon.

Stability

If you have experienced stability issues with gonimo in the past, there is a good chance that they are gone. We fixed several crashes, related to bad network connections and also fixed a resource leak.

Network connectivity problems

Mainly we are now handling rejected promises properly in the connection setup. This sounds easier than it was, because the wrapping library we used, ghcjs-dom-jsffi, did not cover handling of rejected promises. So we had to work together with the author of ghcjs-dom-jsffi for fixing this first. Which was a very pleasant experience, many thanks to Hamish Mackenzie!

Fixed resource leak

It turns out just because JavaScript has a garbage collector, it does not mean that resources are freed too....

For audio-only connections the browser would hold on to audio channels, even after the underlying MediaStream was stopped. This was caused by our audio compression logic, which needed to be stopped manually when the audio source ended, instead of stopping automatically. You could have noticed this bug, if you happened to keep gonimo open for a while, closing and opening streams over and over again. The result was high CPU usage and on mobile, an exhaustion of sound resources, which led to no sound at all.

Next sprint & Future

In the next sprint the main focus will be preparations for ARS Electronica. Apart from that we will be try to fix a few remaining issues:

There is one remaining bug, we know of: It can happen that gonimo looses connection to the server and won't recover for a very long time (hours!). We suspect this to be a low level WebSocket issue, for which we will try to find a workaround.

Hopefully this will also fix the infamous Opened Gonimo in another Tab issue, where gonimo will complain that you opened it in another tab, without that actually being the case.

After ARS Electronica we will put our efforts into creating a new user experience, making gonimo even easier for you. We are very exited about transforming our plans to reality and are sure you will love the new gonimo!

See you at ARS Electronica!

Stay tuned!


Subscribe for new blog posts