Arduino Create (online)

Status
Not open for further replies.

russdx

Well-known member
When this new online editor is released will Teensy work with it? At the moment we download the Teensyduino and it installs it self into the Arduino directory putting all its bits and bobs every where they are needed. Not sure how this would work on a cloud based solution?

Regards
Russell
 
I fear that it won't be possible. Out of that, what could be a potential advantage of having your precious source code somewhere "outside" in whatever cloud instead of your well protected and secured local development environment?
 
I fear that it won't be possible.

Yeah, it's looking like Arduino Create will only support Arduino brand (Arduino.cc) boards.

Out of that, what could be a potential advantage of having your precious source code somewhere "outside" in whatever cloud instead of your well protected and secured local development environment?

The most immediate benefit is not having to install anything. But you do have to install a browser plugin, at least for current browsers. People who prefer Codebender often say the small size and one-time nature of this install is preferable to the large Arduino IDE download, which changes and needs to be reinstalled as the software improves.

While I personally like to keep my own data local, the sad reality of the PC world (especially virus & malware plagued Windows) is most ordinary people don't manage to retain local data for more than a couple years. They don't make backups. They visit porn or gaming or illegal download sites which install malware. They click email attachments, even when their software warns them of risks. When a software or hardware problem wipes out their data, it's gone forever. Cloud-based storage has superior longevity for all but the most savvy PC users.

Likewise, people with multiple machines don't usually do well at synchronizing data between them. Cloud storage does that automatically.

In theory, Arduino Create is supposed to add collaboration and sharing features. While a desktop app with internet connection could do the same, I'd imagine this is much easier to do with a cloud-based design?

Arduino appears to be designing features for Create, like bundled schematics & metadata, which probably won't be ported to the IDE application.

Despite all these, it's hard not to imagine at least some of Arduino.CC's motivation behind Create must have been moving to a closed-source code base which Arduino_ORG can't use for their new & different products.
 
It's also easy to imagine Arduino Create will enable an advertising-based revenue stream for Arduino.CC. My guess is they'll form more "partnerships" with large semiconductor companies and perhaps even component distributors. The schematic and bill-of-materials features they're adding ought to be the perfect source of data to enable those companies to pitch components. If those sales pitches come in the form of free samples, my guess is most students & hobbyists will be pretty happy.

That might actually turn out to be a really smart move on their part, as the prices of hardware continue to drop. Long-term, the business model of independent 3rd party hardware sales (Arduino, Teensy, etc) funding software development probably isn't sustainable.
 
Long-term, the business model of independent 3rd party hardware sales (Arduino, Teensy, etc) funding software development probably isn't sustainable.
How would this work in calling it open source? I'm just asking as a user of open source software, do you see in the future a pay structure for the Teensyduino api? Again, I'm not for or against any business decisions of some type of pay structure, just wondering if this is a future roadmap you have been considering in regard to the software you develop?
 
Also a big fan of knowing where my own stuff is (and that a library update won't break my code), but cloud options can make life way easier trying to run workshops etc since you are less dependent on what hardware is in play. And as a developer can see a lot of advantages in minimising the code running user side that can get mucked up. I have no idea how much user support time Paul has put into leading people through getting Arduino+Teensy working.
 
I have no use for internet toolchains/iDE's. When I started with embedded microprocessors, I looked at mbed, and decided it wasn't for me.

One problem is you might not have a useful internet connection with unlimited bandwidth. I've had times when I had no internet to the house. I've done coding while on an airplane without internet. I've used 300 baud modems coast to coast when the main internet was done (granted this was a few years ago). At times, I've done networking via cell phones, where I had to be real careful about how much bandwidth I've used, in order to not start charging me by the megabyte.

A second problem is what happens if the company providing the service goes away. I've seen companies that provide remote backup services go away, leaving their users stranded.

Finally, after 30+ years, my fingers are wired to my bindings of GNU emacs to do the editing. I really have no need to use some web based editing session.
 
I agree with not preferring web based MCU programming. BUT, forf modest sized programs, and for people younger than we, I think it's a good thing. Improves access to a rather complicated set of tools for the casual/new users.
 
I agree with not preferring web based MCU programming. BUT, forf modest sized programs, and for people younger than we, I think it's a good thing. Improves access to a rather complicated set of tools for the casual/new users.

A web-base IDE is something really good for students in a class-room environment. Kids don't have to install a SW package, all has to happen is that the IT department allows URL based web-access.
 
A web-based IDE is a nice addition, but having a proven and well supported local IDE is imo a necessity for any professional product development. That's why I was so disappointed in the Particle Photon. It pretty much forces you to the Particle IDE, which is a terrible environment to do anything more than a simple 'alert me when my plants need watering' sketch. I understand that Particle wants to 'lock' users into their cloud, but I would rather have seen a full Arduino compatibility alongside a Particle library to communicate with and use their cloud services. That's why I prefer the way Digistump Oak is doing things.
 
I like the idea of an ecosystem that incorporates OSH park and github in the context of arduino. A great place for publishing and sharing projects / code (for hobbyists like me).

As for maintaining code / compiling / ide etc .... not so sure about that. I would rather have that running on my own computers. It would be fiddly maintaining code etc trying things out rapidly using a cloudbased ide, I think / suspect.

As for security and privacy ... well, the jury is out on that. given that most people share what they have for breakfast on facebook with the world, and some software listens to everything you say and then gives its creators data to ensure that "services are properly targetted" maybe no-one cares.... Give me convenience or give me death.

edit: professional software development obviously is a different kettle of fish .... I doubt any professional developer would use the arducloud.
 
Last edited:
A web-based IDE is a nice addition, but having a proven and well supported local IDE is imo a necessity for any professional product development. That's why I was so disappointed in the Particle Photon. It pretty much forces you to the Particle IDE, which is a terrible environment to do anything more than a simple 'alert me when my plants need watering' sketch. I understand that Particle wants to 'lock' users into their cloud, but I would rather have seen a full Arduino compatibility alongside a Particle library to communicate with and use their cloud services. That's why I prefer the way Digistump Oak is doing things.

I agree on Digitstump Oak. I have it and Particle IO and various ESP8266 boards. mbed started the browser IDE for embedded MCUs but they ran out of motivation or life moved on.
"The" browser IDE plugin is ATOM, and add-ons to it (including the pre-alpha Platform IO may do the same, as another .org).

It's unpopular, but IMO, considering Windows has its market share, and add-ons like Visual Micro and Visual GDB (not free though) are drawing upon the IDE supported by MS, and GCC supported by devoted folks for a long time. The runner-up, Eclipse, is too intimidating to config/install and use. The latter applies to things such as ST's Eclipse+GCC freeware that is easy to install, but hard to use.

If Arduino (one or both) get greedy and try to lock-in board sales to a closed browser IDE, this will likely play into the hands of free Visual Studio and free plugins, being board-agnostic.
 
professional software development obviously is a different kettle of fish .... I doubt any professional developer would use the arducloud.
Funny thing is that Particle profiles itself as a professional development tool.

It's unpopular, but IMO, considering Windows has its market share, and add-ons like Visual Micro and Visual GDB (not free though) are drawing upon the IDE supported by MS, and GCC supported by devoted folks for a long time. The runner-up, Eclipse, is too intimidating to config/install and use. The latter applies to things such as ST's Eclipse+GCC freeware that is easy to install, but hard to use.
I for one find Windows to be an excellent platform to develop embedded code on. There are many well supported IDEs and tools available. And any time spent on maintaining or configuring your platform is imo time wasted. On Windows 'everything just works'. It's also nice being able to do all my developing and general productivity work on the same platform. But of course, that's a whole other discussion :D .
 
Looks like Microchip is going this direction too, withMPLAB for PIC

Although not the same Altium circuit maker has moved to "the cloud" for no concernable reason

I honestly do not like the idea of the inflexibility of a web based solution. If a feature is not present or is locked out it's very hard to work around

On a side note though from an educational point of view I feel Arduino would benefit greatly from having an online IDE. Students can log into their account from any computer and access their own files without needing an installation or risking damaging other students work

I for one find Windows to be an excellent platform to develop embedded code on
I agree with this. I use linux a lot but with these new processors becoming increasingly more complex you can't cover as much ground with a simple header files as you could with the old atmegas and PICs. IDEs help some of this
 
Last edited:
Hey all, since I'm the founder of codebender, I thought it would be helpful if I pitched in as well

First of, Paul is definitely right that Arduino.cc are making Create for Arduino.cc and Arduino at Heart boards, in fact they've mentioned this somewhere, and it makes a lot of sense. They've found themselves in a spot where they are the IBM PC, everyone else makes PCs, and the average consumer doesn't really care, know, or care to know about the manufacturers.

Having both IDEs allows them to be open, but get as many people as possible using their walled garden, and offer them reasons to buy the official boards. Add to that that they want to get into IoT, and compete with services like Xively, PubNub etc, and one can easily understand where Create fits and how it's an important part of the new "Arduino ecosystem" that Arduino is building. And definitely, the whole split with .org/.cc expedited this for sure.

The problem is, building a Cloud IDE is a terribly hard thing to do (trust me, I know), which is why Arduino has been talking about this for 4 years, announced it 2-something years ago, and it's about a year behind schedule AFAICT.

There's been some talk about supporting Teensy on codebender, and honestly, that's exactly our business model and our differentiation to Create. We want, and depend on, supporting as many devices from as many manufacturers as possible, since we don't make sales from our own hardware, but from the people who upgrade to a Pro version, and sometimes from the manufacturers themselves. The tech still needs some work, and we will need to talk more with Paul, but we'd love to do this

As for the Cloud VS Desktop IDE, both have their advantages, nothing is a one-stop-shop solution. If you ask people 10 years ago noone would want to have a Cloud-based (ok, Web-based since the "Cloud" buzzword didn't exist then) email client, then Hotmail, Yahoo! and GMail turned this around. Same for GitHub, and every other productivity tool.

The "Desktop IDEs are better, Cloud IDEs suck" is a fallacy. It's all about the implementation. It's definitely easier to build advanced Desktop Apps since there's so much technology and you're not limited by the Web sandbox, but compare Word and GDocs, and I'd go for GDocs every single day, the thing is just AMAZING. Having said that, not everyone cares for collaborative editing, history/revisions, and accessing their Documents from everywhere, if you care about word processing features and compatibility, Word rules.

So, in my slightly biased opinion, the reasons to use a Cloud IDE are having a shared workspace for the whole team to use, having a defined & shared set of libraries for the whole team to use, same for the compiler/toolchain including tools & specific versions of these tools (let's call all these "having the same, shared environment across the team"), working from multiple computers and switching between them, collaboration, multi-OS compatibility with minimum development effort & without the OS-specific caveats, minimal setup & configuration costs, easy/auto updates. And depending on who you trust more, yourself & your Operating System's vendor, or your Cloud IDE provider, security & data loss/storage/backups.

So as people mentioned, a Cloud IDE is perfect for education where everyone involved (students, teachers, IT department) want to deal with as little stuff as possible. And then for the hobbyist/newbie who just want the least amount of effort required to get started. But also for the Professional who doesn't want to deal with his tools, & maintain and update them, he'd just rather pay someone to get this done and focus on code

And the main disadvantage? Yep, lack of "if you can't open it you don't own it" hackability, and if the internet is down, so are you
 
Mbed is usable, but as a closed sourced IDE (not the SDK), there is only one group controlling it. AFAIK, they want $, even if you want to contribute free improvements to the IDE. Compare gcc to closed source compilers.

> hardware sales (Arduino, Teensy, etc) funding software development probably isn't sustainable.

I'd understand if you added a startup or "while compiling" ad banner to the teensy IDE. I'll also say that NXP should divert some of the money they spend on mbed to you (as payment for doing a good job of promoting a couple of their mcus).

> Likewise, people with multiple machines don't usually do well at synchronizing data between them.

I've consistently had problems with inexperienced users using github. Integrating real-time sharing into the IDE would have some advantages.
 
And of course, the third, if your provider goes out of business, you are up a creek without a paddle.

Yes, and while that's certainly true, it belongs more in the theoretical space than in the real one. Not because of the chances of it happening, but because that's mostly true in either case. If Arduino goes down tomorrow, things get ugly. Same for if i.e. JetBrains closes shop. How immediate and significant the problem will be is different per case, and the proper execution/gracefulness of the shutdown, but that's basically the same with Cloud IDEs. Let's say we're going down, and we give the users 3-months notice. Even if we had to close today, I could host everyone's open-source code on S3 for a year for nearly nothing, and then spend a couple of hours on a script that emails people's private projects to them

I'm not saying it's not an issue, I'm saying in practice it's a smaller issue than it's made out to be, and it depends on the case, regardless of Cloud vs Offline
 
Yes, and while that's certainly true, it belongs more in the theoretical space than in the real one. Not because of the chances of it happening, but because that's mostly true in either case. If Arduino goes down tomorrow, things get ugly.

No, if Arduino.cc goes away tomorrow, my existing Arduino and Teensy installations will continue to work. Now, later down, there might be issues that the existing software might not run on new versions of the operating system, or add new boards. Of course you are locked to the specific type of hardware (x86 or now raspberry pi arm) it is installed on, unless there is a decent emulator. But, I can still continue to use the existing platform.
 
No, if Arduino.cc goes away tomorrow, my existing Arduino and Teensy installations will continue to work. Now, later down, there might be issues that the existing software might not run on new versions of the operating system, or add new boards. Of course you are locked to the specific type of hardware (x86 or now raspberry pi arm) it is installed on, unless there is a decent emulator. But, I can still continue to use the existing platform.

Definitely, but it will take a couple of months to a year until an OS/Java update makes it unusable. Even if not, you're stuck with a dead, legacy system. In the case of JetBrains, and other offline solutions, companies (i.e my company) can't ask anyone for support anymore. And with every passing day the world moves on and we're stuck on a dead platform. So maybe we won't update that same day, but we would in a couple of months maximum.

My point is, it's really how you handle it. For example, codebender can stop developing stuff and stay alive for months with minimum cost. Even better, I can notify my users in advance, disable registrations, and keep the site running for a year with my personal budget.

Doesn't that disrupt you less than, say, IntelliJ shutting down one day and in a few months their IDE is so stale you can't use it? (I'm using IntelliJ here because we're using PHPStorm to develop codebender so I have personal experience with it)

And honestly, that goes the same for everything. If Microchip goes down, you can still use the 10 processors you have lying around, but they're essentially worthless to you because you have to switch to a new processor, one that you can base your product on. Same for your computer vendor, you can still use your computer but you might as well throw it away because there's noone supporting it, and it's going to have open, known security issues soon, so the faster you throw it away the better. Yes, this issue is more enhanced with subscription-based models, but that depends a lot on their handling of their situation, and -my point here is- it's more of a theoretical & psychological threat than a real one.

Of course, you don't have to agree with me, and of course, I'm biased, for obvious reasons ;)
 
... it will take a couple of months to a year until an OS/Java update makes it unusable.

Arduino started bundling the correct JRE with every copy of the IDE about a year ago. Historically this was only done on Windows. Now all the platforms, even linuxarm (Raspberri Pi) include the JRE which exactly matches the JDK Arduino uses to build the IDE.
 
IMO, it's quite probable that Oracle will dump Java into the public domain as they did SUN OS. It's not a revenue generator, or is quite the opposite.

That and HTML5 and AJAX and so on might relegate Java to disuse.

I'll draw a distinction between a browser-based IDE and a Web server based IDE. The former is not dependent on a a web server; it might use a browser plugin (today, Java Applets), to get out of the sandbox to the SWD/serial/USB ports, and file system. The latter is like mbed. Both use the familiar web browser and a simple plug-in. Java applets and Java in general is very hard to introduce into most enterprise IT at the desktop level due to security policies.

As a professional firmware developer using M4's and gobs of custom hardware and SWD is like a nail-gun is to a house framer, and the need for tight intimacy with the pile of well connected hardware, I can't see using a browser IDE due to the sandbox. I've used 3 or so and they are fine for many avocational purposes. The professional IDEs are costly for student/hobby users, but in a multi-million dollar firmware based, fast-paced project, the benefits of those tailored tools (Keil, IAR, Rowley) are real - which is why those companies persist and grow - and are focused on the support GUI/code/libraries from the chip makers and not much on Arduino.

But this venue is not about large professional projects.

The web based IDE I liked the best so far is that used with Viper/ZERYNTH and the one for Particle.io is good for the C/C++ programmers. As an avocational adventure, I've gotten Python on RPi Zero to do some amazing speed-senstive things... where the hard work is done by the misnamed GPIO library functions (timers, PWM, Servo, SPI, I2C, DAC, ADC, waveforms, GPIO, ...). Such as Python based DHT22 driver where that serial data is non-standard and has to be parsed at about 50 microseconds per bit time. And rotary encoders at a few mSec. Both using fast edge-change interrupts and event queues. This does open doors for certain kinds of users, but is not on par with a low cost high-spec audio effects or video wall as done by amazing Teensy code.

PlatformIO (an addon to the browser based ATOM IDE), is only fair. One of the Arduino camps has passively backed it. PlatformIO so far has a UI that unfortunately is for engineers and by engineers as is Eclipse.
 
Last edited:
Status
Not open for further replies.
Back
Top