Thanks Adobe!

After spending a bit of time hacking around with various JavaScript frameworks and running into the limits of what JavaScript makes possible in the browser, we realized that a highly effective "Organize Items" tool in Gallery 3 was going to require something a little different. Some of the things we found that we liked were implemented in Adobe Flash, and while Flash has its pros and cons, we decided to at least build a proof of concept using Adobe Flash Builder.

It's pretty pricy, but with a few e-mails back and forth with Adobe, they hooked us up with a few completely free copies of Adobe Flash Builder 4 shortly after it was released. Thanks Adobe for supporting Open Source!

I'm very disappointed that a project that was once free software is going more-and-more in a proprietary direction with its inclusion of Flash. If Flash were an open technology, it would be one thing, but it is not, and so it cannot be consider free software - the implementation is only through a closed, proprietary client application. If Gallery developers were taking measures to ensure that the inclusion of Flash inside of Gallery supported alternative, free software Flash clients, such as Gnash or swfdec, that would be different, but considering the fact that you're using tools specifically from Adobe to build your Flash components, this is quite unlikely.

Having said all of that, from a more practical perspective, using proprietary software excludes users of free software. Flash support is not universal, and the conscious decision to include its usage in a core feature of Gallery is also a conscious decision to exclude such users. I know that wasn't the intention, but that is the consequence.

I strongly urge the Gallery developers to reconsider their policy on the inclusion of proprietary software in an otherwise free software project.

ckdake's picture
basilgohar, a few comments:

Gallery is definitely not moving in a "proprietary direction". Anything that we create using Flash Builder that does make it into the product will be 100% Open Source and under the same GPL license as the rest of our product, and any source files will be under the same license.

Flash is already used in our project for the file uploader (we use uploadify. see the ticket where this was implemented) which is arguably a bit more of a core feature than a fancy drag and drop UI for rearranging photos.

Per the story, we are investigating some ideas and are building a proof of concept. This means that whatever we create won't necessarily be a part of the product. We've put a lot of effort into doing some of these things with JavaScript but think that Flash _may_ offer a better experience for our users which is pretty important! If some super JavaScript ninjas want to come forward and help us do this in a way this provides the best experience and works on devices where Flash is not supported, we'd love to see what they can come up with too.

Lastly, Gallery is Open Source and Gallery 3 has a great API! Anyone will be able to write a module for Gallery 3 that interacts with media however they like, and anyone will be able to write a piece of software that connects to Gallery 3 using a HTTP based API to interact with media however they like. We are really looking forward to all the neat things that people come up with.

____
http://ckdake.com/ - If you found my help useful, please consider donating to Gallery.
bharat's picture

It makes no sense to compromise product quality to support a philosophical standard that a tiny fraction of our users actually even understand, much less care about. Our aim is to build the best product for our end users. We tried and failed to build a really good organize module in Javascript, now we're trying to do it in Flash. If somebody would like to donate their *time* (our most precious commodity) to help us build a really high quality organize module based on an open standard, hey we'll take it and use it. But until then we'll do the best we can with what we have...
---
Problems? Check gallery3/var/logs
bugs/feature req's | upgrade to the latest code | use git

sremick's picture

I agree with Basil. HTML and JavaScript are open and agnostic standards... not "philosophical". Flash is managed by Adobe, allowing them to hold the keys to the internet and control what sorts of devices can access it. The web's openness by the way of non-proprietary standards and protocols is not "philosophical" but an inherent and critical aspect to what makes it work and thrive.

I access the web from many devices that have no Flash player and never will. This is 2010, and the web is something that people increasingly access from devices other than the select PC OSes that Adobe chooses to create Flash players for. The more Gallery lets Flash penetrate its fundamental functionality, the less Gallery will be suitable for me (and others as well).

I understand that Adobe makes some things trivially easy using Flash... but that's the lure they intentionally use to make you, your site, and the web as a whole dependent on their technology. Just because the bait tastes good doesn't make the trap safe. Microsoft pulled the same thing with Internet Explorer and its proprietary "extensions", nonstandard tags, ActiveX, etc. I respect that the Gallery team has limited resources but truly it should be a goal to do things "right" over doing them "easy". If something can't be done with standard platform-agnostic technologies, then perhaps it should not be done... as the web depends on such standards to be what it is.

I was not going to say anything as the last time I voiced my concerns I got flamed for it, but since Basil broke the ice I do feel obligated to show support and agreement for what he says. It's unfortunate that when someone brings up the "standards-based technology" concern on here, they get shot down as if these things don't matter. Just because only a small-percentage of users understand something doesn't mean that the majority don't care about it even if they don't realize they care. I know nothing about nor do I understand the standards that go into gas pumps/nozzles but I'd certainly be upset if I pulled into a gas station and the nozzle didn't fit into my car (sorry for the obligatory car-analogy).

It's disheartening to see Adobe's racket working its way into one of my favorite (and originally 100% open-standards-based) software projects, infecting deeper and deeper. I realize those of you making Gallery have the best intentions but warming to and welcoming in Flash demonstrates a certain loss of touch with the technological altruism that's necessary to help the internet flourish and grow. None of my websites use Flash, and this is intentional.

Anyhow, to avoid a repeat of the last flamewar this will be my only post on the topic. I only hope that maybe this time my words won't be perceived as trolling or whatnot but instead as the genuine concern they truly are. It's the responsibility of anyone working on core web technologies such as scripts for running galleries, forums, etc to be good shepherds of the internet and its technologies in order to secure a safe and open future.

scaturan's picture

heyyyyyy, I'm still using Gallery 2 - don't forget me! i meant, the 1000s of us that still use it :) heh
happy uploading!

I'll definitely post on my blog and a Facebook fan page about the need for Javascript coders to contribute code for G3 - I read Steve Jobs 'thoughts on flash" and was astonished of the things I never knew about Adobe and Flash in general.

I'd like to use G2 and G3 using the iPad someday. :)
___________________________________________________
http://pixi.me/

bharat's picture

I appreciate that you guys have concerns about Flash. And please recognize that it was not our first choice. But the fact remains: we have limited resources and do what we can. Which would you prefer: we ship G3 with no organize feature, or we ship G3 with a working organize feature that small percentage of the population can't use? The only way to change this equation is to donate development time to improve the alternative solutions (preferably, the Javascript based one).

Who's going to donate engineering time?
---
Problems? Check gallery3/var/logs
bugs/feature req's | upgrade to the latest code | use git

Personally, i'd prefer no organize feature to a closed one.

I can't consider gallery open source if it requires a non-free software license to build it. I doubt even your binary would run on most of the computers I use, including the phone I'm typing this on...

Why not just do it in java, or build a companion client in any of 400 languages?

Looking forward to when gallery 3 is able to replace my g2 install. The last time I tried it you were getting closer (granted, at that time half the menus didn't work on khtml).

I do realize that foss is a lot of work - I do appreciate it! Just wish we could pick an open standard, or at least target gnash as somebody else suggested...

I'm not a fan of flash, other than what they did for video, back in the day. But I'd rather have an "organize" feature written in flash than not have it.
Keep up the good work, even the naysayers are fans of your work. If they did not care, they would not expend the time or energy to visit and post.
-Alexei

There are some good points made on both sides of the argument here, but I'm with the Gallery team on this one. I am a little surprised that a satisfactory organiser was not achievable in Javscript, and in fact I remain convinced that it must be (the fact I have no idea what fancy features the team are trying to implement notwithstanding), but since I am not the one dedicating large amounts of free time to the project, I have zero desire to criticise anyone for choosing to abandon what has effectively proved to be a dead end and go with a suboptimal but at least workable alternative. They at least *tried* to go down the open route, presuambly knowing from the beginning that they had less chance of success than if they had gone with Flash from the start.

My personal view is that if you think that a feature that can only be implemented on the web using closed or partially-closed technology should not be implemented at all, or if you would rather not even have the option of using a feature if it would require such technology, and would rather see everyone else denied that option too, then you are far too deep into your conceptual ideals and need to gain a little pragmatism.

I believe in choice. The web does not belong to anybody, and that includes the "open web standards" crowd (of which I am usually a member), so if open standards don't offer a solution that is workable (including the cost of development - this is the real world, after all), while a proprietary technology that is widely accessible does, then people should have the choice to use said technology in order to access enhanced features. As long as the web's dependence on Flash's continues to diminish, I don't see a problem with this.

Quote:
Just because only a small-percentage of users understand something doesn't mean that the majority don't care about it even if they don't realize they care.

I completely understand. And I completely don't care.

Power to the elbow of the G3 developers, and the moaners should just let the team get on with developing their project howsoever they wish. For those who want ideological purity ("Personally, i'd prefer no organize feature to a closed one.") you're all totally welcome not to use that feature.

Let the G3 guys use their own time the way they see fit; when you contribute your time to writing software then you deserve a voice in which direction it goes. Until then - stop whining.

I'm pretty sure it's not whining here, it's expressing concerns...

I have always found that one of Gallery's strengths has been it's accessibility. It's clear that the Dev team thinks this is a strength as well, and that they feel they should make it as accessible to as many people as possible.

My concern, is that Flash as a solution may in fact make Gallery less accessible to a portion of users. It's poorly supported on linux (yes it's there, but development lags way behind other systems), and not supported on some mobile devices at all. (looking at you, iPad). It's been brought up that this portion of users may in fact be small, and so is a somewhat acceptable trade-off to make the product more accessible to the rest.

I suppose that so long as it's not integral to the function of the Gallery itself, one could do without the organize feature, or find another way of managing... writing similar functionality as an add-on for example.

While I am someone who does contribute to the greater Gallery community (I maintain a bridge plugin to bring Gallery2 into the e107 CMS), I don't think that gives me a terribly loud voice in how the devs see fit to go about with G3... but I think it does give a voice in the discussion on how a product I use and try to support.

So no... not whining. Concerned.

I agree that flash is not universal, but I think, we should consider that in most places that flash isn't available, it isn't really a typical place where we would actually arrange photos or upload photos. At least for me, I don;t find myself upload using my phone using the browser, I'd rather send it as email or upload using an application (which can connect via API probably).

I know you might not like flash as much as I do, but there are other ways around things other than whining your way through. Instead of trying to tell the devs to steer to a direction you want them to go, why not help them to steer to that direction? Telling them won't really work, since if they do follow you, what will happen next? delay everything just to satisfy you?

C'mon guys, see? If you can contribute the much needed code, then it would really help them. If you can't really help them, why not just use the APIs to create something that will bridge that gap. For example, create an Android app that will be usable to upload to G3 using APIs... The browser maybe effective, but, not everyone is comfortable of using the mobile browser to do things they are supposed to do on a desktop computer. I don't see myself uploading any file using my mobile browser at all. I'd rather use an application to do that. Now, if I were on a desktop computer, of course I'd rather use the browser to upload.

alecmyers wrote:
Quote:
Just because only a small-percentage of users understand something doesn't mean that the majority don't care about it even if they don't realize they care.

I completely understand. And I completely don't care.

Power to the elbow of the G3 developers, and the moaners should just let the team get on with developing their project howsoever they wish. For those who want ideological purity ("Personally, i'd prefer no organize feature to a closed one.") you're all totally welcome not to use that feature.

Let the G3 guys use their own time the way they see fit; when you contribute your time to writing software then you deserve a voice in which direction it goes. Until then - stop whining.

+1 for that. It depresses me to see these sad people who want everything their own bizarre way, but give nothing in return.
To all those people whining about the possibility that there MIGHT be an option which MIGHT include Flash, read this cartoon: http://xkcd.com/743/
That's you, that this.

"If they did not care, they would not expend the time or energy to visit and post."

completely agreed. personally, i'd prefer shipping without flash components, because (as history has shown), rewrites to something more open rarely, if ever, happen.

what seems sad to me, the rude reaction by some to reasonable comments that happen to be negative about the flash feature.

"moaners", "stop whining", "go code yourself"... if gallery developers would not be interested in feedback from the community, they could have as well said so in the original post. and i hope that polite feedback will help to shape gallery into a better product in the future.

Quote:
"moaners", "stop whining", "go code yourself"... if gallery developers would not be interested in feedback from the community, they could have as well said so in the original post.

Those are my words you quoted - I'm happy to stand by them - and I'm not a gallery developer.

Anyone who can suggest the Gallery developers are not interested in feedback from the community has a breathtaking ignorance of the lengths the team has gone to - from the moment G3 was a twinkle in Bharat's eye - to find out what the majority of users in the sphere for which the code is intended to be used would like to see in the product.

i probably should have continued that sentence.

"...could have as well said so in the original post. as they did not do so, they probably are interested in feedback, and being rude to those who do provide feedback is less constructive than the said feedback."

Soi-disant "feedback" founded only in ideology is not very constructive nor does it deserve a lot of respect. At least Stallman puts in the effort to write his own software.

Quote:
Flash is already used in our project for the file uploader (we use uploadify. see the ticket where this was implemented) which is arguably a bit more of a core feature than a fancy drag and drop UI for rearranging photos.

True and more of an issue. As an iPad and iPhone user, I am disappointed that I will not be able to use these tools. HTML5 (see Google's Pacman and Quake implementations) has demonstrated that it is more than capable of supporting advanced UI development.

Quote:
I agree that flash is not universal, but I think, we should consider that in most places that flash isn't available, it isn't really a typical place where we would actually arrange photos or upload photos. At least for me, I don;t find myself upload using my phone using the browser, I'd rather send it as email or upload using an application (which can connect via API probably).

I think the iPad is a great place to arrange photos and upload them. Currently there are over 2 million of them. By the time this software ships there will probably be over 4 million sold. I agree that flash is fairly common, but HTML 5 certainly feels like the future (and an open, resource efficient one at that). For me this is not about ideology, but simple functionality.

ckdake's picture

More people have browsers/devices that support Flash right now than those that have browsers/devices that support HTML5. As Bharat said above:

Quote:
If somebody would like to donate their *time* (our most precious commodity) to help us build a really high quality organize module based on an open standard, hey we'll take it and use it.

____
http://ckdake.com/ - If you found my help useful, please consider donating to Gallery.

Quote:
HTML 5 certainly feels like the future

As ckdake - who is a Gallery developer - says:

Quote:
We've put a lot of effort into doing some of these things with JavaScript but think that Flash _may_ offer a better experience for our users which is pretty important! If some super JavaScript ninjas want to come forward and help us do this in a way this provides the best experience and works on devices where Flash is not supported, we'd love to see what they can come up with too.

Let's hope some HTML5 guru steps up to the pad.

Edit: the secret of great comedy - timing.

floridave's picture
majortom wrote:
HTML5 (see Google's Pacman and Quake implementations) has demonstrated that it is more than capable of supporting advanced UI development.

Now we just need all the resources that Google used to make Pacman we would not be having any of this discussion. The simple fact is the developers develop what they feel is needed and in their skill set. We have vast skill sets but not the resources of 2 multinationals.

HTML5+JS experts step up! or if you are not one: Find one.

Dave

_____________________________________________
Blog & G2 || floridave - Gallery Team

Quote:
More people have browsers/devices that support Flash right now than those that have browsers/devices that support HTML5.

While that may be true, those without an HTML5 browser can simply download Chrome, Safari, or one of the others. Those of us who use iPads and iPhones do not have that option. In addition as things are moving, the number of HTML 5 capable browsers is increasing, as are the number of devices that do not support flash. The Javascript needed to produce Pacman ran in IE 7, IE 8, Safari, Chrome, FireFox and Opera. That covers the vast majority of users.

As someone else said, my concern is that once written in Flash, the likelihood that this will get re-written in something supported by these other devices is small.

ckdake wrote:
<p>It's pretty pricy, but with a few e-mails back and forth with Adobe, they hooked us up with a few completely free copies of Adobe Flash Builder 4 shortly after it was released. Thanks Adobe for supporting Open Source!</p>

I think this will help clarify my concern. You point out that this tool is quite expensive, but that Adobe has given you copies. That means that not only are there many people who cannot use this functionality, no one else interested in this project can work on this code.

bharat's picture

@majortom: 1) we've rewritten organize about 3 times already. We'll rewrite it again if we have to. 2) nothing you say changes the basic argument that we lack the time, developers and skills to write it in HTML5.

I realize that this situation makes you (and others sad). It's also sad that I don't have a billion dollars and a unicorn. Until somebody changes the basic equation, we'll do the best we can with what we have, and we'll continue to give it away for free.
---
Problems? Check gallery3/var/logs
bugs/feature req's | upgrade to the latest code | use git

Do you have a published functional spec for this? If you do, I would be happy to see what it would take to have it implemented in Javascript.

@majprtom: The first 2 iterations of organize were written using javascript, but there was always something that wouldn't work in a given browser.

There are no real specifications, other than being able to rearrange albums and photo using drag and drop. It would be nice if the selection lasso, behaved similar what users are use to (holding the ctrl key adds to the selection, etc). Typically, we have gone with a tree and detail view. Dragging images from the detail view to tree allows images to be moved to a different album. Dragging within the detail view will rearrange the photos.

It would be nice if new albums could be created and new images uploaded as well.

http://www.timalmdal.com

bharat's picture

@majortom also, much of the complexity in getting it right revolved around managing the tree and having it open/close as appropriate while making the elements in the tree drag/drop targets when you have the appropriate permissions. I think we'd be willing to trade off functionality for fit-and-finish, but we were never able to really get the finish right with the JS version. You can also look at the GWTOrganize module in gallery3-contrib -- Glooper has done a great job on that and it's pretty highly functional.
---
Problems? Check gallery3/var/logs
bugs/feature req's | upgrade to the latest code | use git

I have to chip in here, mostly because of the LIES that a certain company who's name is a fruit has promoted. I always prompt people to do their research before reiterating the lies.

Flash is *NOT* CLOSED. It is a royalty-free, open-source project (google "OpenScreen") at this point (save video codecs, but that's out of Adobe's control.) If you want to edit Flash content without paying Adobe, you can do so. If you want a Flash player that's not written by Adobe, there's several available. See here: http://osflash.org/

For those that bought an iP* product, you deserve what you bought -- form over function, closed over open. You think the Fruit likes Open Standards? They like making "open" standards that they profit from if everyone adopts THEIR way. Look at all the trumpeted "standards" (HTML5 and video conferencing) and they insist on a royalty-based H264 (which they get a cut of) -- I don't hear the same people whining about it. Further proof: the JavaScript performance required by HTML5 heavy sites is sub-par on the iP* 4, even with OS4 -- it's DESTROYED by an 8 month old Nexus One by a factor of 2, despite having the same (better by the Fruit's claims) processor, and (by Fruit's claims) inferior method of multitasking!
http://arstechnica.com/gadgets/news/2010/07/android-22-demolishes-ios4-in-javascript-benchmarks.ars
Oh and this: http://www.youtube.com/watch?v=rfmbZkqORX4

I, for one, applaud Gallery for choosing Flash - a royalty-free, Open Standard - because of the resources they have, choosing the technology that fits best. If you don't have Flash coming on your platform because some CEO decided to ban it, you might want to contact the owner of said platform and voice your opinion or look to the community for solutions. Plans are already in place to have Flash ready mobile devices for Blackberry, Symbian, Palm (WebOS), Windows Mobile. Some Android based products have it now. Maybe you should invest in one of those products if you want to administrate Gallery and view 80% of the Internet instead of whining about it.

/rant off

By the way, great product, I've been using Gallery 1/2 for years. =)

toastmaster wrote:
To all those people whining about the possibility that there MIGHT be an option which MIGHT include Flash, read this cartoon: http://xkcd.com/743/
That's you, that this.

I almost fell out of my seat when I read this, so I had to register just to ask: Do you not understand the point of the XKCD comic _you_ referenced? Since it's clear the answer is no, I'll try to interpret it for you:

People don't care about openness in infrastructure until terrible things happen. Ultimately, the open source guy in the strip is vindicated; his warning was unheeded, and years down the line terrible things happened. I'll make it even simpler: the strip unequivocally refutes your own gripes against the "sad people" who argue for openness in infrastructures. As a side note, Munroe is all about open source - everything he does is licensed via CC (... did you read the on-hover tooltip for the comic you cited? Or the page footer?)

And while on the topic, in response to Sleepingeye's nonsense:

Sleepingeye wrote:
Flash is *NOT* CLOSED. It is a royalty-free, open-source project (google "OpenScreen") at this point (save video codecs, but that's out of Adobe's control.) If you want to edit Flash content without paying Adobe, you can do so. If you want a Flash player that's not written by Adobe, there's several available. See here: http://osflash.org/

Flash is not an open standard. Flash is not open source. Even a quick glance at the Wikipedia entry offers some contradictions to those assertions:
http://en.wikipedia.org/wiki/Adobe_Flash#Open_web_versus_proprietary_plugins
http://en.wikipedia.org/wiki/Adobe_Flash#Open_Screen_Project

Open-source creation kits exist, with limited functionality. Open-source players exist, with limited functionality (and fears of lawsuits.) OpenScreen isn't the Messiah you think it is.

Adobe still owns the technical patents for SWF/Flash files; they're just releasing the restrictions on usage (maybe Gnash can fully replicate Flash 8/9/10 now?) As long as they own the patents, they can reverse that decision at their discretion. That's pretty similar to the argument against h.264 video: no royalties now, but there could be in the future. Side note: The h.264 royalty problem is why Firefox only supports OGG for HTML5 video. And that affects nearly half of all web users. Just sayin', sometimes it's worth it to stick to those "ridiculous ideals." Planning for the future pays off in... the future. Go figure.

Anyway, I (and I'm sure others) could dedicate JavaScript/HTML5 time toward the problem, if the needs for the organize UI were clearly laid out. It's tough to code a solution for an unknown problem, particularly when the devs already conceded that JS could do the simple job, but wasn't up to the level of richness they wanted. What feature set that requires is unclear.

Sorry for the omnibus of a post. Let the flaming resume, I suppose.

nivekiam's picture

Sorry guys, but this thread is closed.

This is not a discussion about the moralities of the use of Flash. This is a big thank you to Adobe for giving us the tools to create a great interface easily for the Organize module.

The reasons why we choose Flash has been reiterated here several times (we tried, really hard, to make a javascript solution, spending a TON of time on it and never could get it just right). Yes, we'd like to have another option, but we want to get something functional to the majority of the users out the door sometime soon. The fact is that Flash is available and used by the large majority of the internet population AND it was easy for our developers to create the Organize interface in to get the functionality that we want G3 to have is a huge help in supporting this decision as well.

If someone wants to create an open standards interface, please do (while you're at is make an open interface for Uploadify that provides the same or better functionality) :). The team will gladly help you in doing so.

Bharat wrote:
If somebody would like to donate their *time* (our most precious commodity) to help us build a really high quality organize module based on an open standard, hey we'll take it and use it.

Bharat wrote:
1) we've rewritten organize about 3 times already. We'll rewrite it again if we have to. 2) nothing you say changes the basic argument that we lack the time, developers and skills to write it in HTML5.

I realize that this situation makes you (and others sad). It's also sad that I don't have a billion dollars and a unicorn. Until somebody changes the basic equation, we'll do the best we can with what we have, and we'll continue to give it away for free.

ckdake wrote:
Gallery is definitely not moving in a "proprietary direction". Anything that we create using Flash Builder that does make it into the product will be 100% Open Source and under the same GPL license as the rest of our product, and any source files will be under the same license.

Flash is already used in our project for the file uploader (we use uploadify. see the ticket where this was implemented) which is arguably a bit more of a core feature than a fancy drag and drop UI for rearranging photos.

Per the story, we are investigating some ideas and are building a proof of concept. This means that whatever we create won't necessarily be a part of the product. We've put a lot of effort into doing some of these things with JavaScript but think that Flash _may_ offer a better experience for our users which is pretty important! If some super JavaScript ninjas want to come forward and help us do this in a way this provides the best experience and works on devices where Flash is not supported, we'd love to see what they can come up with too.

Lastly, Gallery is Open Source and Gallery 3 has a great API! Anyone will be able to write a module for Gallery 3 that interacts with media however they like, and anyone will be able to write a piece of software that connects to Gallery 3 using a HTTP based API to interact with media however they like. We are really looking forward to all the neat things that people come up with.

____________________________________________
Like Gallery? Like the support? Donate now!!! See G2 live here