I am asking for advise/ideas how to integrate my work with Arduino Create (web) and GitHub.
Lately I started using GitHub for my Arduino projects. The GitHub added value for me is with it's version control and ability to do mutual projects with others.
Here is the flow I use now:
Most of my work is done on Win10 platform, although from time to time I use Ubuntu platform as well.
On the windows platform, I use the Git desktop application, with Atom as editor.
At this stage I don't know how to compile outside the Arduino create cloud environment, so I copy the .ino file from the Atom editor (or GitHub), pasting it to the arduino create and compile it there.
Sadly often I have few errors to fix, so I go back to the Atom editor, fix and back to the Arduino create.
When ready, I download it via USB to the Arduino device.
This process is working, but not efficient.
I would appreciate any advice how to make it better:
Perhaps connect directly the Atom editor to the Arduino create, same it connects to the Git application? This could be perfect if possible.
i agree it can be more friendly, but the Arduino create brings a huge value for me already with the cloud storage.
For start, I can use it with different platforms, maintaining the same interface, same files, regardless of the Windows/Linux.
Also from remote locations.
I just wonder of there is a better way to interface the GitHub.
(GitHub's user interface can also be improved)
yigalb:
the Arduino create brings a huge value for me already with the cloud storage.
GitHub does a much better job of cloud storage.
yigalb:
I can use it with different platforms, maintaining the same interface
I'm just not convinced there's much value in that. The standard Arduino IDE can be used with different platforms, with essentially the same interface. If you don't like the Arduino IDE you can use your Atom editor with the IDE's CLI, the new arduino-cli, or PlatformIO. You also have the option of Visual Studio Code (Microsoft has been doing a lot of work on their Arduino support and it's likely to get even better now with arduino-cli).
yigalb:
same files
Just pull them from GitHub.
yigalb:
Also from remote locations.
Meh. Put a portable copy of the IDE on a flash drive. If you can't use that at the remote location you won't be able to get any real work done anyway.
yigalb:
(GitHub's user interface can also be improved)
I can't imagine how. Interfacing with GitHub is as easy as can be. You just use the standard git commands (push, etc.). If you want to go beyond the standard repository control via Git, GitHub has a very powerful and well designed API.
As for the Arduino Web Editor, I think it is possible to accomplish some more advanced things via the Create Agent:
pert:
Put a portable copy of the IDE on a flash drive. If you can't use that at the remote location you won't be able to get any real work done anyway.
We both agree on GitHub's value. I only claim the GUI can be more friendly, yet it does the job.
However, I strongly try not to use the portable flash devices approach. I always end with a non working flash drive (some how the washing machine cleaned it, but also destroyed it), or left in the car, or not fully updated because I made more changes and forgot to move them to the DOK.
So for me cloud is the best way, and I am back to my original question:
Can any one suggest a better flow than the one I use now, between Arduino Create, GitHub and Atom?
yigalb:
I only claim the GUI can be more friendly, yet it does the job.
The GitHub web GUI is not intended to be used for development beyond the most basic tasks. This is actually a really good thing because it provides a very gentle learning curve to people new to Git. Once you become familiar with Git, you should not be using the GitHub web interface for any development work. Instead, you use a Git client or Git command line (likely a mix of the two). Then the interface can be anything you like. I'm a big fan of Git Extensions:
The GitHub web GUI for issues, reviews, search, etc. is excellent.
yigalb:
or not fully updated because I made more changes and forgot to move them to the DOK.
Well, you should be pushing those changes to GitHub, not the flash drive.