Very disapointed experience

Hi, all

As arduino user I,am attracted by Blynk. Special by the 5 minutes and it is working.
After two day,s of wrestling with the proposed examples I took the decision to completely quit with Blynk,

  1. 5 minutes is really tru as you fully understand whats is going on
  2. ready to run scripts gives erros which looks like old stuf f.i avr\pgsm…
  3. not clear are the tutorials for servers

For you guys I hope you have a nice time but I,am out.
Kins regards
ilioSS

Hi. sorry to hear that.

What scripts?

This is for experienced users. Even so it is 1 command to run server. Do you really need local server? Why?

Well, you could’ve asked for help here. I’m sure we are not a bunch of elite nerds and love to help out but if we don’t know the problems we can never fix them.

What things are unclear? If so, maybe we (I say we, but I mean the Blynk team obviously) can write them up better.

I think his “concern” was related to my personal pet peeve… marketing vs reality :expressionless: I started with Blynk for the same reason this user apparently did… promise of fast connection and limited coding… That bubble burst relatively quickly for me; however as I did have some past Arduino coding experience, and an aptitude for technology, I persevered, overcame the code (well at least on the Arduino side :stuck_out_tongue_winking_eye: ) and got hooked. This one got away… but may come back for another nibble…

I do wish Blynk could allocate a few more resources towards documentation clarity and detail, geared toward the non-programmer; I think they would retain more of the curious beginners that way. And in my opinion, I don’t consider github as documentation, rather a resource for the much more technically inclined.

1 Like

While at few points I do agree with @Gunner, I totally disagree with our fellow (past?) user of Blynk, @ilioSS. My first experience with Blynk really took not more than 5-10 mins - it was (if I remember it well enough - a long time passed since) some analog sensor connected directly, without even using virtual pins. It worked, and i was happy as a… Well, I don’t remember :wink: Sure, I had some experience with Arduino’s prior to that, and that certainly helps to develop more demanding projects. But i did NOTHING in Arduino editor to run first “project”! Just uploaded the given example, and voila - magic happened! For me it is a great platform, though can be demanding, IF we want to do “something more”… For more experienced users it can really help in many casual (and those exotic ones too!) situations. I was a beginner too, and I’m not a programmer.

think both @Gunner and @marvin7 make valid points.

  1. Documentation and Tutorial for Blynk could be improved - I’m sure the Blynk founders and developer would agree with this - perhaps mini video tutorials ?
  2. However we all need to understand resources are limited and it is essentially free
  3. This forum is magnificent and truly what makes me and I’m sure many others stick with Blynk and invest the time and effort and to some degree reduces impact of point 1. It is Blynk’s most valuable resource and value add (btw the platform is pretty cool as well ;-))

Let me write a few words.
When i first meet with Blynk, i was also very new at arduino. I haven’t got even an esp unit of any kind. But there is an option for that. I could use blynk by cable sharing internet through serial with a small program provided. I was amazed to see that i can control a simple led through blynk app. I was also amazed when i first control that led with arduino uno. I was amazed because everthing starts with that led. If you can control led you can control so many thinks.
I don’t agree with @ilioSS blynk platform was designed very well. Developing fast and reliable. Blynk app is the first app that it worth to buy for me.
Thank you everybody working for Blynk.

2 Likes

Please don’t get me wrong… I also was up and running every LED, buzzer and sensor on my Diyode Codeshield within minutes, via the direct pin manipulation.

But moving past that point was frustrating due to fragmented explanation of many commands, lack of precise function and syntax of those commands (many assume a certain base knowledge of coding - which thankfully I had), minimal and poorly commented examples (at the time they didn’t have the example browser), and constant forum references to Github (not a very noob friendly environment) instead of providing examples… this has been improving greatly though, thanks to many higher-skilled coder’s contributions :smiley:

Basicly I am saying that once past direct pin manipulation, things do get blurrier for many users whose technical experience might be stressed past the basic app and prebuilt sketch installation.

I recommend more effort to catch that entry market with some fully functional sketches that do something practical (and well documented for later dissection), corresponding QR scannable App layouts and even (in-house) how-to references and pinouts for differing hardware and common sensors.

And this isn’t just talk… ever since I started with Blynk, I have been slowly developing a collection of small, relatively self-contained and fairly generic, code functions that do things… and using those examples to assist others when applicable. But my coding experience is near beginner level and limited to Arduino; And due to health issues my focus wavers greatly… so my assistance quality level is very random :stuck_out_tongue_winking_eye:

That all said, Blynk’s target market plan may aim much higher up the tech savvy ladder.

That is what I said/had in mind too… Agree with you. But hey, Blynk is about automation! And automation as such is about PROGRAMMING! It’s not about C++, Java or any specific language. It’s about programming as a way to achieve goals. Blynk developers went in majority the C++ way, as Arduino (as a first? platform working with Blynk) does. Yes, it is not a point and click method of programming, so some knowledge will be required in apps above the “basic” level. By the way - with “basics” one can do currently quite a lot with timers and eventor widget - not achievable when I started “Blynking”
@Gunner, I’m sure the doc’s WILL BE polished/refreshed some day. They are not bad but there are some “white pages”, indeed. But with limited resources I understand the “first develop, then document” strategy.

Guys, thanks a lot for all your comments. This is so much needed. If I were to ask you: what was the most complicated thing to understand?

We would really like to work on simplifying experience for everyone. Please share any thoughts you have in mind. What can be better?

@ilioSS
Thank you for starting this discussion.

What worked for you and what didn’t work? Did you get any results from Blynk?

Looks like you tried connecting over USB? - it’s said that it’s not for newbies. Unfortunately we decided to focus on connected hardware, USB was just a small workaround if you really really need that. Because there is Firmata and other software to control Arduino over USB.

We have a public cloud server specifically for everyone who doesn’t want to mess with the local server. Why do you think you need a local one from the very beginning? It’s pretty advanced feature.

From what I gathered from the threads I’ve read

I think people get lost in how the blynk app works with the server and with hardware. That is, when they first start programming themselves.

Eg. How does push vs reading frequency work, when is what function called.
I think a proper “blynk logic” flow chart is needed.

  • how does it work when my value widget is set to PUSH
  • how does it work when it’s set to a reading frequency.

A flow chart on the basics of how an mcu should operate with blynk code, id say use Esp8266 as your example, this really should be a “start from” device.

An explanation on why it is important to use a short loop in conjuction with the SimpleTimer library etc.

But hey these are just my thoughts ^^

For myself, it can be summarized into slowly realising that there is a difference, then learning how to understand then merge that difference, between Blynk’s programming structure compared to Arduino’s programming structure.

NOTE: this turned out longer that I anticipated… so much so, that I debated just erasing it and keeping my view to myself… but oh well, here I go :sweat:

This is a comparison at the introductory level, not that of seasoned coders. As well as mostly being limited to standard Arduino hardware, as that is what I am most familiar with. Also much of this is based on either my own learning curve and/or my observations in the questions formulated by new, and some more experienced, Blynk users.

Overall Code Function and Syntax:
Arduino - you can take any number of code snippets out there and relatively easily, tweak them together it to do what you want.
Blynk - there is a comparatively strict, but somewhat hidden, order that MUST be followed when “porting” and merging Arduino code and Blynk “aka Blynkifing” or nothing works at all.

Control:
Arduino - almost universally understood that the way to interact with external things is via digitalRead() digitalWrite() analogRead() analogWrite(), etc.
Blynk - while all of those commands are still used, they almost take a secondary role to the understanding and utilisation of virtual pins when interacting with things… and understanding virtual pins was confusing at first due to limited detail examples and explanations.

Program Structure:
Arduino - the void Loop() is a primary place where control loops goes.
Blynk - keep the void loop() clear at all costs! and use timers & BLYNK_WRITE() functions instead.

Timing:
Arduino - delay() delayMicroseconds() for loops, etc. are very common to make things work in the timing and order you want.
Blynk - almost NO delay or blocking function is “permitted”, rather learning all about SimpleTimer is a MUST - but not really expanded upon in the documentation.

Infrastructure:
Arduino - Once programmed, it works (within the limitations of attached sensors and actuators) anywhere, as long as it has power.
Blynk - Aside from the same requirements as above, it may or may not work in a semi-autonomous mode without a link to the App… but almost always requires a solid link to a server in order to properly function… this confuses many at first, i.e, “I can haz without internet how?”.

Board Compatibility: And I admit that I personally find this one the most frustrating, as it was my biggest initial hope with Blynk - the ability to utilise the differing types of MCUs I have, with one interface style and minimal need to learn multiple programming languages (at least in the beginning :stuck_out_tongue_winking_eye: ).
Arduino - Arduino code only works on Arduino (or compatibles like ESP)… Generally when using other’s code examples, if it doesn’t work, change the pin numbering to match the hardware.
Blynk - Easily works on many different types of boards, Arduino, ESP, RPi, etc. or so the claim goes, however once you get down to the brass tacks, the only real easy thing in common is the app and the server… the library installation, ease of server connection and even the ease of direct hardware manipulation (with or without coding) varies greatly, even among similar categories of boards (i.e. Arduino & ESP). But the overall instructions, examples and expectations are seemingly and increasingly focused on one main board type, the ESP.

At this point, I think I have clarified both my beginning expectations as well as my more experienced observations.

However, I would like to also point out that in my view of things, I see Blynk can perhaps progress in one of at least two directions…

Either focus on ESP based IoT as that appears to be the most popular direction… and straight up say so to focus on your target market.

Or embrace, and find a way to support, that you have actually created an excellent and beautiful Multi-Purpose, multi-MCU, GUI between the end user, their hardware of choice and whatever their target goal is - Not just the common home based IoT, but also:

  • Robotics interface, even real-time control.
  • As a powerful interface with development boards (Firmata on steroids), even if only used on the benchtop for hardware, that once deployed, may never require user interaction.
  • Even as a powerful learning tool for those, like myself, whom excel when visually seeing indicators & physically poking at buttons, levers, etc.

OK, If you have actually read to this point, and haven’t started sharpening your pitchforks ;)… then thank you for listening.

3 Likes

well, the variety of devices, sensors, MCUs, connection hardware and different applications (“use cases”) means Blynk needs to write extensive documentation for ALL of these if they don’t want people saying “but you said it would work in 5 minutes!!

Basically, yes :slight_smile:

Documentation is the least understood part of making things work. With a background in IT I realise documentation is the most boring part of the job. But in cases like these it’s essential to write good, readable documentation as to not lose interest from people.

@Gunner his post really hits the nail on the head. There are subtle differences between Arduino programming and making things work really well with Blynk. I think that part should be in the introduction part of the documentation!

1 Like

Hi
One thing that it took me a while to figure out was, that widget’s are free if you run a local server.
There might be somewhere that it’s stated, but all I could find was statements saying “The server is free!”.
This might be intended or not - but it almost got me throwing in the towel.

Another thing: It would be great with a noob-category for beginners to ask all kind of stupid questions, like “Where can I ask questions?” :slight_smile: or “Why is my App auto-updates when I run a local server?”

If we’re talking about all aspects of the documentation:
As a person who is well versed with Arduino and embedded programming in general, I haven’t had much trouble with the coding documentation. What disappoints me is the widgets information.

For each widget the settings are shown. This is useful, but for planing a project I would like to see an example of what the actual widget itself will look like. I shouldn’t have to create a project and add a widget and fiddle with it just to find out if it might be appropriate for my purpose.

Also, more documentation on what the settings for a particular widget will do, and how they will affect the widget, would be nice. For instance, my first project reads a temperature and I’ve added a gauge widget for this. The settings for a gauge have a LABEL field but I have no clue what it’s for. I’ve set it to °F but this doesn’t show up anywhere on the widget when the app is running.

Left side with LABEL (ºC)
Right side without LABEL

There’re things you can discover by yourself…:wink:

Regards

When I put °F in the LABEL field I just get the temperature value without the °F following it.

@MLXXXp
Please, post a new thread if you consider… We are moving off-topic…

We are carefully studying all the feedback and would agree to most of the points. Will definitely think on improving.

@Gunner - your feedback is a great summary!
The only comment about supporting various MCUs - your vision is a science fiction for now, considering the variety of units :upside_down_face:. For this part, I think, that Blynk is MAGICally simplifies life to developers ).

All the rest of your comments are invaluable - thank you!

@fxfever
Local server is a very advanced feature, even those we simplified it to the bare minimum Those who need that - should spend time learning of course.