1 (edited by gdkags 2011-02-18 03:51:40)

Topic: I don't get you guys

You are building open software, open hardware, hacking encouraged device and you are using Flash as a main component?
A technology that i hope to vanish sooner than later, because it's riddled with bugs, CPU hungry and ineffective as hell. And on top of all it's proprietary. Where decent development tools costs as much as a small car and runs only under windows (and macs probably). WTF?
Please explain this, because I don't get it.

I sent back my chumby one today. I might pick up the chumby 8, but only if that was not the only possibility to develop widgets.

regards,
gdkags

Re: I don't get you guys

I not sure where you get the "development tools costs as much as a small car" from. I am creating Chumby widgets, and my cost for the development tools was zero. Nothing. Zip.

This forum has the information on how to obtain the zero cost development tools.

Re: I don't get you guys

...and since I've even ported some of those tools to the device itself, you can create widgets with just the chumby.  You don't need another computer except to SSH into the device.  If you're *totally* hardcore, on some of our devices, you can plug in a USB keyboard and use the device standalone.

Just curious, do you have evidence that, on the *chumby*, Flash is "riddled with bugs, CPU hungry, and ineffective as hell"?

The Chumby does not use the same Flash Player as the desktop operating systems - it uses a version called "Flash Lite" which was optimized for use with devices with a fraction of the performance of a chumby.  It's actually a completely different codebase from the desktop version of Flash.

Re: I don't get you guys

aa6vh wrote:

I not sure where you get the "development tools costs as much as a small car" from. I am creating Chumby widgets, and my cost for the development tools was zero.

Yeah well, I think you forgot to include the word "decent" in your quote. I don't know how much fun it is to develop with the FOSS tools, but I guess this would make a difference if you used the one from Adobe. If that would be open source or not as inconveniently expensive as it is, I might go so far as to claim that there would be more great widgets.

Duane wrote:

Just curious, do you have evidence that, on the *chumby*, Flash is "riddled with bugs, CPU hungry, and ineffective as hell"?

All right scratch the "riddled with bugs" thing, then. But when I ssh'd into my chumby with only the clock running in the background 'top' said 40% of the CPU power would be going to the flash lite component, which was just displaying a freakin' clock. But I might be missing something here.

Duane wrote:

It's actually a completely different codebase from the desktop version of Flash.

But the technology is proprietary. Both, the flash lite and the development tools are product of a reverse engineering process for compatibility. I don't think that neither Macromedia nor Adobe released the specs for their flash containers. I would like too have technologies that were open from the beginning. But that's just me speaking delusional.
Can somebody please tell me where I can get the source code for the main panel? I really would like to hack that.

But considering how old the chumby is, it might be, that other technologies for developing applications or widgets were not matured as far as Flash was when the chumby was created. But I don't know that. Could that be? I would really like to know why flash was chosen. I read a thread around here where Qt is ported to the chumby, somewhere else is the "open embedded" thread where you get a complete toolchain + package management (not sure about that), where you can develop apps or widgets or whatever with native window managers or API for that kind of thing. Somebody else is trying to port the kernel to be compatible with Android. But that is all happening now and is community effort.

As I said: I just don't get it. Why Flash?

Uh, unrelated question: Where are the 1500 Widgets? I only seem to find 1314 when I click on all. I cannot find the rest.

Re: I don't get you guys

Wow.  So many wrong things here.

A very large fraction of professional Flash developers use Flash Develop (third party) and Flex (from Adobe), both free and Open Source, to produce Flash movies.  We use them ourselves - the bulk of our widgets were done with Flash Develop.  Adobe publishes the source of the "ASC" Flash Actionscript compiler used in Flex - it's written in Java, so can run on pretty much anything.

Perhaps you might consider actually using the tools, or even just talking to an actual Flash developer, before making pronouncements about their quality.

40% of CPU on a such a slow embedded processor is actually pretty impressive.  It's actually playing *two* movies at the same time (the Control Panel, and the widget).  This is not some multi-GHz desktop machine here - this is a low power 350 or 454 MHz ARM processor with no hardware floating point or hardware graphics acceleration.

Of course, the amount of CPU a particular widget use has more to do with how it's written than the particular implementation technology.  It's quite possible (indeed, deceptively easy) to create a clock application in C that uses 100% CPU.

Adobe released full specifications for the Flash file format many, many years ago, and they don't restrict the development of third party authoring or playback tools.

Flash Lite is *not* a reverse-engineered version of desktop Flash - it's also made by Adobe, just a different codebase, since they wanted something more appropriate for small-footprint devices.

Flash Lite 4, which we hope to release soon, adds a JIT engine, which boosts the performance up to 8 times faster in our tests.

Yes, you're correct that there was no comparable alternative to Flash Lite when we created the device.  It's also still true. Flash Lite combines anti-aliased vector and bitmap graphics, a network stack, video and audio playback, support for "raw iron" implementations, a full ECMA-compliant compiled language, a security sandbox, millions of existing trained developers, a rich ecosystem of tools, both Open Source and commercial, hundreds of books and websites with examples, all for a *total* binary footprint of 2MB, with a runtime that will play multiple rich multimedia applications in a device with only 64MB of RAM (actually somewhat less after Linux takes its chunk).

Can you think of *anything* that comes close to that?

There are actually somewhat over 6000 if you include private widgets, however, the current quote of 1500 of public widgets is the union across all devices - there are some widgets that are available only for Infocast and dash.   We're actually quickly approaching 1500 in the general catalog.

6 (edited by cbreeze 2011-02-19 14:36:58)

Re: I don't get you guys

The ignorance surrounding Flash, and more specifically ActionScript is mind-numbing.  Get serious and do some real research, or maybe spend some time using it first.  After more than a decade using Flash to develop an incredible variety of applications, on a variety of devices, in at least half the time it would take in other tools, I find your comments offensive.  I wish you would "vanish sooner than later".

-dev

Re: I don't get you guys

Wow. Duane: Thank you, that very well explained everything. I am satisfied and maybe might even look into the development tools. Thank you very much for your polite answer on my not so polite ramblings.

cbreeze: Everything of the above but negated. That ignorance, as you call it, might have something to do with the desktop flash browser plugin that everyone knows. I call it: not knowing. But if you are trying to convince others of what you stand for, fanboyism isn't helping.

Re: I don't get you guys

I'm not sure what other automatically updatable , network delivered , sandboxed architectures there are.  The only two other choices I can thing of are some type of Javascript/HTML5 (not there yet) or Java (ME or Applet). 

Normal linux delivery would be really heavy weight.  You could possibly use something like QT but Flash lets you run Chumby Apps on non-chumby hardware via a "virtual chumby".  Flash gives you a range of development tools, high end to free.  Native code compilation would be an option but it requires its own tool set and you might have to do some kind of emulator (a'la android). Software development via cross compilation really raises the bar for development skills.   Flash looks pretty good when weight the costs and benefits of different approaches.

Re: I don't get you guys

ummm

ignorance
Definition
ig·no·rance[ ígn?r?nss ]NOUN
1. lack of knowledge: (not knowing)

10 (edited by richteel 2011-03-17 20:22:51)

Re: I don't get you guys

Gdkags, this was a great question. Thanks for posting it. I was wondering the same thing but found that you can develop applications using FlashDevelop. It is a bit frustrating though when I find that someone has posted the source code for their widget only to discover that it is a fla file. These files are useless to anyone other than people with the Adobe tools so for an open source device this is ironic.

I have taken the plunge and started to learn how to develop these Flash widgets but I also ask myself why especially since this technology may be old news in only a few more years. I am thinking at some point I may try to modify my Chumby's hardware and software. The one thing which I noticed right off is that the Chumby was designed to be a simple device by not having too many user inputs but the result is it takes too many clicks to get to the functions that you may need. The first thing I found clumsy was if I wanted to interact with a widget but was a bit too late or the widget already closed/moved on, I would need to go to the control panel to launch it or wait for it to come around again. Why is that? Wouldn't some hardware buttons below the screen make more sense to allow switching of the widgets? This may be impractical though as each widget may need to load before you can move to the next but it is still an option to look at.

I want to say that the responses to your post have been very helpful and I thank everyone for getting involved. I was wondering how useful the Chumby would be but now that I have it I can see some real great potential for it. It is disappointing that so many of the widgets are about 80% to 90% of what they need to be to be really useful. This is one of the reasons I have decided to try and build my own widgets.

BTW: I have been looking for the Chumby API. I would think it would be easy to find since this is open source but doing a search in Google returns back hits referring to it but never linking to it. I want to know how to program to things such as the accelerometer, rotary encoder, alarm, radio, etc. I am sure if I hunt enough I will find some example which will show how to do it but I would rather read the API documentation to figure it out.

Re: I don't get you guys

You can navigate the widgets by holding down the top button and tilting the device left and right.

The "API" to the native extensions to Flash can be found here.

Re: I don't get you guys

Duane, thanks for the fast response. I did not know that the Chumby could change the widgets like that cool and even better than adding more buttons.

Thanks for the API information. I will check it out.