How Can Adobe Encourage a Commercial Ecosystem?

I think most people can agree that the Flash platform suffers due to the lack of a healthy commercial component ecosystem. We have a fantastic, innovative, and highly prolific OSS culture, and even have a thriving market for small, inexpensive effects and simple components, but we lack the high-quality, well-supported, production-ready components that a commercial marketplace can provide.

This was the (perhaps poorly surfaced) core of my previous post. Adobe has not done a good job of encouraging a commercial marketplace, even often seeming to work against it.

It’s easy to complain, but a whole lot more valuable to actually contribute to a solution. With that in mind I thought it would make sense to solicit feedback on how to improve the environment for commercial libraries and components. I’ll work to consolidate the feedback, and try to funnel it to appropriate people at Adobe.

Of course, this can go beyond Adobe. Is there something that we can change as a community that would help?

So please, leave comments. This is brainstorming so toss in any ideas, comment or elaborate on other people’s ideas, and vote concepts up. Please just keep it focused, mature and respectful. Hopefully

Grant Skinner

The "g" in gskinner. Also the "skinner".

@gskinner

45 Comments

  1. It’s past my bedtime here in London, but I’ll try to kick it off. Some of these are simple, others would require a significant investment from Adobe. But hey, this is brainstorming.

    – Document the process for packaging components and libraries for distribution.

    – Simplify the Flash component creation process (it’s really quite horrible)

    – Provide functionality, samples, or documentation for providing trial components

    – Improve capabilities for protecting commercial components and libraries

    – Promote exceptional commercial libraries through conferences, dev center, staff picks, customer success stories, etc

    – Enhance and better promote the component marketplace

    – Offer some type of Adobe approved component program to make it easier to distinguish well built, quality components

    – Offer app store style ecommerce features in the component marketplace

    – Foster a developer focused culture in the Adobe Flash platform teams, Hell, force everyone to watch Balmer’s “developers, developers, developers” tirade. It’s crazy, but it represents the right attitude for long term platform growth

    – Continue to empower evangelists to act as customer representatives within the company.

  2. One more:

    – Simplify and promote the use of secondary tools useful to component development, like ASDoc.

  3. Am, i think that if Adobe is really interested in a real market conquest (software develpoment, not just components, effects etc), then they should look into the JIRA and start fixing the ‘basics’ for eg the 40 issue (linux, mac cyrillic chars input). I just can’t get the point of creating (extending) the fp api (eg they added native3D) while the basics do suck. What’s the point? I don’t need the native3D if i can’t input text for eg or if the components do leak memory like hell.

    And still i see no workarounds on productivity.

    Anyone can display 2000 records in a datagrid?

    Nope. Nothing done. But they DO extend ^_^

  4. Isn’t Adobe Exchange supposed to be a component marketplace? I admit I haven’t been there for years since the quality of the components on offer is a little hit-or-miss.

    How about an iPhone App Store model where Adobe takes a cut of sales? Preferably without Apple’s tortuous approval system 🙂

  5. I think part of the reason there are so few commercial components for the flash platform is that Adobe has officially put their support behind open source development.

    Think about other platforms with longstanding official open-source development models: python, perl, linux, mono, etc. The vast majority of the libraries for those platforms are open source.

    On the other hand, vendors like Microsoft, Apple, and Sun have typically favored closed-source development models (recent open-sourcing of Java notwithstanding), resulting in a healthy commercial component ecosystem (and a less prominent open source environment).

    I think Adobe chose the open source model as a way to accelerate platform adoption, without giving much thought to the resultant software ecosystem that would emerge.

  6. – Better documentation for creating components, particularly Flash IDE components

    – Update the Exchange site to handle paid content (components and AIR apps)

    – Create a, Adobe Component Certification program, but certification not required to sell on Exchange site.

    – Provide a licensing service that would benefit component developers and AIR developers by giving them a way to sell their work and keep it secure.

  7. I read your previous post as well and have to agree that Adobe could encourage commercial development around the Flash platform with a better component marketplace. That said, we have to ask why it hasn’t become more popular already or why a better marketplace website hasn’t taken over? There are other Flash component websites so it’s not for lack of trying.

    I’m guessing a lot of developers make-do with Adobe’s components, freely available source code, and their own home-grown components, built as needed. Hacking together a component is often more efficient than trying to wrestle with a generic, commercial solution that doesn’t quite do what you need.

    That leaves advanced cases like spelling libraries and graph visualization where it would be costly for developers to reinvent the wheel. Maybe these components can be successful without an effective centralized marketplace because it’s worthwhile for their creators to back them with their own marketing, documentation, links to client websites, etc.

  8. First and foremost, as an Adobe employee, let me first say I know nothing about Squiggly or the topic that spawned this thread. Nor would I pretend to know much about the Flash commercial component ecosystem. However, as the PM for ColdFusion I have spent a great deal of time thinking about ways to support/grow a commercial ecosystem. More to the point… why we don’t have hundreds or thousands of components in said commercial ecosystem.

    I used to think this was fundamentally a problem of the CF community (size) or technology itself (easy enough to build yourself). But now, I’m on the other side of the equation and my perception has changed. We OEM a ridiculous amount of software into ColdFusion. Way back in 1999 almost everything in CF that wasn’t built in-house was a paid OEM (coming from that vibrant C++ or Java commercial ecosystem you mention in your previous post). But in the last 10 years I can’t say the same. In fact, commercial market for Java components/OEM seems to be on a sharp decline (can’t comment on C++). When I research technology options for a feature, it’s slim pickings. There are of course a small few who make enough to build a business off of (DataDirect, SpringSource, JBoss, etc.) but the ‘little guys’ I deal with don’t seem to be doing all too well (or even still in business).

    Fundamentally, I think the FOSS movement has been killing the commercial ecosystem and I think this economy might be the final blow. Today, it seems like most developers think code should be free. It’s one of the main reasons why so many companies who might have been an OEM provider in 1999 are a SaaS provider in 2009. Not to get off on a tangent, but developers seem more likely to pay for a service than a component these days.

    Whatever the case may be, I don’t think this problem is exclusive to Adobe technologies like Flash. I also don’t think a commercial component ecosystem is really necessary as long as the OSS community is thriving.

    I think you can get the high-quality production level components this community needs without the commercial ecosystem. What’s missing is the centralized organization to support and promote the technologies.

    Maybe it’s time for Apache-like organization for Flash/Flex. That’s how the CF community is reacting to the same issue (4CFF.com) and I think it’s a solution that has merit. Then all you need to ask from Adobe is to donate to said organization.

    All that aside, I agree with all the points you’ve made in your comment. Especially the last one!

    -Adam

    ColdFusion Product Manager

    former Platform Evangelist

  9. Disclaimer: I used to work at Adobe, but now I’m just some dude.

    Point 1: I think that the market for commercial 3rd party components on top of a commercial (vendor controlled) platform is always going to be a very small percentage of the economic activity within that platform.

    In other words, if a TON of people are making TONS of money on the platform, there will be a medium-sized market for 3rd party stuff.

    Meanwhile, if a medium number of people are making a medium amount of money on the platform, there will only be a tiny market for 3rd party stuff.

    The Flash platform is huge in terms of deployment, but in terms of $$ spent, it just doesn’t match Java, C++, or Visual Basic in its heyday.

    Point 2: The nature of the work matters. The Microsoft technologies tend to be used by in-house IT teams who work on multiple projects a year with medium to large budgets. These folks work on projects that tend to focus on getting the job done quickly / cheaply as opposed to, say, the typical Flash project where the emphasis is often on building something unique and memorable, and the work often is done by artisans on a contract basis.

    Point 3: I agree with everything Adam said above. The open source mentality has made it much more difficult to sell code to developers.

    I sympathize with your effort to try to develop an ecosystem. I just think it will be hard.

  10. P.S. I understand that Flash/Flex IS being used for internal IT projects, and I admit that I have no visibility into the size of that market. My guess is that it’s smaller than the market for C# within IT shops, but it’s just a guess.

  11. I like the idea of certified components, as long as it isn’t a prohibitively expensive, or time consuming process. Maybe something similar to having signed AIR apps, create a process where we can have signed components. And just as we can deploy self-signed AIR apps, you could release self-signed components.

    Whatever Adobe does to further commercial component/app development, keep it developer friendly, i.e. make it so individual developers can make a living with it. I think that’s why the Apple app store does so well, an individual developer can produce content and get it out there. Granted, it’s turning into a “who’s got the most money to advertise” in order to get noticed, but it wouldn’t hurt to have a marketplace where at least people submit content more than twice a year (look at the dates on some of the Flash exchange submissions, a few in 2009, and nothing til 2007…)

    Regarding the argument of whether we need commercial components or not, I’m finding more and more clients are wanting to buy pre-built components to speed up the development process. Twice in the past month I’ve been asked “Where can I buy a component that does X?” Clients would rather pay $500 for a component now, rather than paying $500/day for a developer and designer to create it from scratch (not knowing how long it will take).

    iBrent

  12. Ok, my mistake. When I went to the Flash exchange the first time, by default it lands on the “Staff picks” page which only shows 112 components. Well if you click the “Most Recent” tab, you’ll see over 3000 components.

    See, this is why they need to revamp the exchange/marketplace idea. It’s really confusing when you sit on the one tab, and all your filters only show you x out of 112 components. It gives the impression that there’s hardly anything on the site. Adobe really needs to clean that up.

    iBrent

  13. I build my own components in AS3 simply because the ones provided by Adobe add tremendously to file size, have memory leaks, weds one to a framework, etc. Sure, FOSS can hinder the commercial component marketplace, but the quality of Adobe’s efforts should more than counterbalance that!

    One thing that would help is a common component architecture that would work in the GUI-building tools in CS4, Flash Builder, and Catalyst. To that end, a first good step would be to add method and constructor overloading in AS3.

  14. A real Flex component marketplace would be the greatest thing in the world for Flex developers. In fact it could change my career options immensely. Let me share with you where I’m coming from…

    I’m sorry to hear that your spell check component got bulldozed by Adobe. But remember this: The only reason MY spell check component didn’t get bulldozed by Adobe is because I never bothered to write one.

    I never bothered to write a spell check component because I don’t think I could make a dime by doing so, no matter how good my software is. I’ve also never bothered to write a 3D view stacking component because I don’t think I could make a dime doing so. I’ve also never bothered to write (or finish writing) countless games, graphics tools, sound mixers, and a lot of other things that have crossed my mind.. because I just don’t see a path to making it financially sustainable.

    In my experience, writing Flex components independently is a waste of time.

    If you want to make money with Flex, GET A JOB! There is no marketplace for indy developers to get your hard work out there, appreciated, or profitable. The only exception is if you personally know people at Adobe and have a blog that has thousands of subscribers. Only then will anything you do be considered marketable.

    I am happy to make money with Flex the only way I know how, by working in a cubicle. But if there were a real marketplace with a real marketing channel, I would be very interested in contributing some of the things that I’ve written in my spare time, such as Toy Snake, Ants, Flex Command Line, or Space Turtle to the rest of the world.

  15. I think these two points you mentioned:

    – Provide functionality, samples, or documentation for providing trial components

    – Improve capabilities for protecting commercial components and libraries

    Are critical.

    I always wondered why Adobe in Flash didn’t implement a plugin based model like Director. In Director, as far as I remember, there were some pretty valuable and popular commercial plugins.

  16. “I think most people can agree that the Flash platform suffers due to the lack of a healthy commercial component ecosystem.”

    While there’s some truth to this statement, I don’t think it’s Adobe’s responsibility to support it. The last thing I want Adobe doing when it makes decisions is ‘check in’ with a commercial platform manager to debate whose toes they’re going to step on.

    On the developer vertical Adobe provides tooling support, and I want them making as many tools as possible without artificially restricting themselves.

  17. FIrstly, great post Grant!

    We are a company focused over 50% on building 3rd party Adobe Flash components such as the well known FlashEff, the flash effects components. We have invested over $1 mil only in development of these components, have over 120,000 members to date and there are a lot of other developers like us over there that need some strings straighten up by Adobe.

    As far as I see, these are the main current problems that need to be solved for a more solid component base:

    1. JSFL has to be changed to allow full control from a component/panel level to the stage.

    2. Component packaging has to be simplified to allow anyone to create components more easily. (a lot of ideas here)

    3. Live preview should get fully interactive

    4. Documentation guidelines should be provided to developers (each component has it’s own type of doc, very hard to learn how to use a new one)

    5. Real anti piracy protection developed by Adobe (we have our own system but it doesn’t scale for all developers, so we would need a better one built by them)

    6. The exchange program from Adobe is a bullshit, most of the highest ranked components are very low in quality. A client should be able to understand the level of the development under that component, the quality of the final product, and how it will help him in his own projects.

    There are components where people invested thousands of hours and very high development skills, truly beautiful components that are ranked on the same level with sort of components that lack performance, quality and documentation… you have to be able to differentiate through them, it would help all of us. I’m not against poorly developed components, but they should be differentiated in a way or another.

    Also important is the culture, someone said here that he doesn’t trust any of the 3rd parties and he builds his own components when he needs that… this is not a good perspective. The role of components and 3rd party tools is to enable collaboration within the community and fast development while keeping low costs. There are highly skilled developers that only work on making 3rd party stuff for the community, however, I think that we should be able to learn how to rely on other’s work. For eg. we use the TweenLite class for all tweening within FlashEff, I know Grant Skinner and Jack Doyle now are releasing a combination of all their work for the tweening part of the Flash… of course they know the best! because they do this for years, and we, as a community should learn to use third party tools instead of trying to build our own ones all the time…

  18. There are a couple of challenges to a developer entering this market.

    First, they have to have enough finances to live on from conception to completion. If they choose not to get investors they can keep their regular job and work in their free time.

    Second, They also realize that Flash Player bugs can almost only be fixed by the Flash Engineering team. If they encounter a fatal bug and they can’t find a workaround they can’t sell their product. Game over man.

    Third party components do not have the same class of treatment as native components. All non native properties are relegated to the second pane of Property Inspector. As in you don’t get a visual UI for setting properties.

    They also need to create or have an avenue to sell their product. While their are pre made estore sites out there they do not offer downloads, they lack in functionality or they do not offer a professional experience or any combination of those things. Of the commercial component developers I’ve met and know they’ve all created their own estores which take from a few weeks to a few months.

    They also need to create examples.

    They need a forum to answer questions.

    They need to design the product for the mass or target market. Making a commercial component is much more time consuming than a one off look what I can do type of thing.

    They need to test the product with the mass or target market in mind.

    Creating adequate to professional help and api documentation takes about a third of the time as development depending on the product of course.

    Learning and using ASDocs can also be time consuming process. There is no UI and documentation is sparse (getting better with recent release). Typically a developer will also need to know ANT to generate documentation.

    Finally if Adobe comes out with a similar product that can be what we see here. That would put a developer out of business. Adobe has the tools and access to the internals of the Flash Player. Component developers don’t.

    The process for making a commercial component has been about 4 to 6 months per component.

    Does Adobe owe a developer anything? IMO No. Does it suck? Yes. Does it affect future endeavors? Yes.

    One solution is contacting Adobe before going forward and finding out if they have any plans to do what you are planning to do. They have been open enough as they could with this information in the past.

    Another I strongly suggest is to have Flash Plug in Panels in Flash Builder. Every other Adobe product has them. The Design View in Flash Builder is a Flash Player Plug in running Flex. If we could create plug ins and panels using Flash Builder swf think of what we could do for Flash Builder?

    – A Layers panel like Photoshop in FB

    – A Transitions panel like Catalyst or Premiere in FB

    – A Rich Text formatting tool bar like Flash Professional.

    – Source code formatters

    – Source code Visual AsDocs window

    – Property inspectors custom panels for our components.

    We ALL know how to build Flash Builder applications. We all could make Flex better.

    Anyway, I agree with the suggestions Grant and others mentioned here. I pursued some of these things at one time but it was during the acquisition of Macromedia, there was no bug or feature base (they went into a black hole) and Flex was fairly new. So I don’t think this will happen without a fair amount of encouragement from the community.

  19. @harry:

    “In my experience, writing Flex components independently is a waste of time.”

    Does that mean you have written, marketed and sold any Flex components? Myself and my business partner sell a small set of FMS specific Flex components and they sell very well. They are incredibly niche, but the niche is big enough.

    Maybe you picked the wrong niche as you are definitely wrong about this being a waste of time. Quite the opposite is the case. Moreover, everyone wins.

    One could write a good, basic Flex component in say a week or two. Then sell if for a third of what you would have charged for two weeks of your time. Now you only need to sell it 4 times to make a profit – but what if you sell it 50 times? And customers are happy too: they only pay a third of what they would have paid otherwise.

    Another thing that has worked well for me in the past is to sell entire Flex or Flash projects, including sources. So while not being a component, not being open source in the true sense it is a worthwhile undertaking. Many newbie developers appreciate turn-key apps that they can hack and build upon.

    Grant, if you open a Flex component shop then sign me up.

  20. I have been deeply involved in FOSS for 2 years, some years ago. And ever since dropping out I think about what to do better myself and what to could be done better at adobe.

    For one thing: Adobe didn’t understand with AS3 and seems to lack with AS4 that the development takes time: A new programming language that enables me? Nice: But all my components are done for. If I now write something in AS3 I understand it rather as a contemporary artwork than as serious production to help others. Time will come too soon when its outdated or worse – not even running on the latest vm. Things like this take a lot of power from the developers(not just me): We have to hope that adobe doesn’t release anything that destroys our world – That seems to be the major reasons why projects such as Libspark have such an exceptional growth. They don’t think long-term they think short term. So: For a fundamental ecosystem, I think it would be required that Adobe finally becomes trustworthy as a platform: Take men that work on Squiggle, Strobe or whatever and let them work on >Bugs

  21. I agree!

    This is why I believe Adobe needs to split the Flash Platform Technology to another company, or some Apache-like group or something. This group/organisation should not build anything but the technology. Not even frameworks or IDE’s.

    I don’t agree on the comercial vs. FOSS arguments, as it hits both equally hard if Adobe goes into your domain. Free or not – Adobe is the State, Government and Law – and sets precedence in whatever they do. It also affects 3rd party application development just as much as it does component development.

    In most cases, Adobe is probably only trying to showcase the platform (and not compete), but I just don’t think it’s the best strategy for anyone.

  22. Clients want fast turn arounds on projects and budgets are lower than ever. If there was a good pool of high (commercial) quality components to choose from we wouldn’t be that much under (time and/or $$$) pressure as we experience now. Yes you can take e.g. half baked FlashDen items and further develop them but often you conclude you better had build them form scratch.

    As a designer I would love to have the choice of commercial/high grade components and as a component developer I would love to contribute some of them to such a market myself.

    Adobe should/could lead. Provide best practices, provide a better way to build and protect components, open up (don’t keep features to themselves), etc

    Besides components we could use some improvements on the IDE custom extension side. Making extensions should be easier and instead of JS the extension language should be AS based and easy debuggable. To write C-level extensions you first have to correct a lot of bugs in the headers etc.

  23. Grant, thanks for starting an important and difficult discussion. I don’t have much to contribute beyond suggesting Adobe find new ways to cooperate with third party developers. I also realise it is very difficult for Adobe to do that. For example, if they stuck to public product roadmaps it would be easier to avoid conflicts. But every company needs to be agile in a changing market place and so I doubt their lawyers would ever allow those sorts of public and binding commitments.

    Back in 2007 Dave Winer made an interesting point about coexisting with a platform vendor:

    http://www.scripting.com/stories/2007/04/04/coexistingWithPlatformVend.html

    He writes: “Aldus, whose Pagemaker product had an active developer community, had a rule that they wouldn’t squash a developer for at least one product cycle, that is, they wouldn’t integrate a developer’s idea as a feature until version 4.0 if it came out during the lifetime of 2.0. Not sure the developers would have appreciated this if they had known about it.” In the end he says the issue is impossible to solve.

    Others have posted about how difficult it is to live in a market place dominated by your platform vendor on one side and healthy free and open source projects on the other. I think its in Adobe’s interest to foster a viable commercial market place for components and other things that fill gaps in what they offer. The problem is how to maintain that marketplace. After reading Adam Lehman’s comment I wonder if Adobe needs to set aside a sort of sponsorship fund to buy the best components in order to integrate them into the platform? Or maybe they need to commit to certain projects being done by third parties via a more open RFP like process? I don’t know, the gaps that need filling will keep changing… The main thing is that Adobe needs to find better ways to work with (cooperate) with third party competitors and to maintain a level playing field.

    At any rate, thanks for this. Years ago I held back on working on an FCS component framework for related reasons so I am keenly interested in the discussion.

  24. I’m in agreement – I’d like to see not just a component marketplace but an app marketplace. I know that adobe has a sort of half-baked air store that doesn’t actually handle the “store” part, but it just strikes me as so 90s.

    Look: We already know that companies and individual developers would pay real money for licenses to quality components, and if nothing else Apple has proved that micro-transactions work for consumer-facing software.

    What I don’t understand is why Adobe hasn’t acted to seize the initiative – create an Adobe Store where all those starving artist game developers can sell their life’s work for a few bucks a pop instead of pennies for ad revenue; where serious developers and freelancers with some downtime can pump out high-quality components without having to worry about how best to market them. Hell, Adobe could even handle subscription sales to web-based games and services – that’s residual income, it’s a no brainer!

    Then Adobe can put its considerable heft behind promoting this store. By MAX next year they can fly out the best-selling developers for keynote talks, they can build a whole culture around this.

    I’m kinda confused as to why this hasn’t happened yet, it seems really obvious to me.

    Good post.

  25. as long as you can decompile with great ease a swf file you will not have a serious commercial market

  26. Redevelop Exchange – I had not visited in about 2 years before today and it still looks like you have to wade through a lot of clunky junk. Need better ranking, filtering, and an ad system for those who truly want to make a business model out of a good product, (instead of machine gun approach of crap-tastic widgets)

  27. I’m probably stating the obvious, but I think that Apple’s position with the App Store is quite different from Adobe’s position with Flash.

    Apple’s store works because they have a captive audience. There is no other way to (legally) get an app onto your iPhone.

    Yes, you could create a “Flash store” where people could buy Flash content, but it would just be one alternative of man, and it would not prevent you from getting free Flash content elsewhere.

  28. Well, you can get free .mp3s everywhere too – but iTunes is still quite successful.

    I think there are certain steps Adobe can take (providing intelligent, well-documented and well-supported DRM that integrates with the store, for instance) to encourage people to get apps from the Adobe Store. They should also go out of their way to develop excellent relationships with developers, in order to make it simply make more sense for the best devs to sell their stuff exclusively through Adobe.

    Many of the clients would be businesses and developers purchasing licenses for components and libraries, too. Software is everywhere – licenses are the product.

  29. I don’t believe its Adobe role to promote/accommodate commercial third party components or a sales space. They need to focus on leveraging the whole code base(Flash, Flex, TextLayout etc.) and create a buzz around the platform with better default components.

    Squiggly is a great initiative just like TextLayout and Strobe are.

  30. Mykola: if it were legal to get ‘free mp3s everywhere’, no one would buy music on iTunes.

  31. @gmalartre Where is the difference between a open source project by adobe and a open source project by anyone else?(strobe is one of many open source player frameworks)

    If you have a platform its favorable for the platform if people build solid opensource software (for educational reasons wonderful). Its also favorable to have developers for commercial software (who should pay your platform?).

    If the vendor(adobe) creates open source software for its platform by itself its not much different from just extending the platform(who wants to take a annonymous oss if the platform creator made one?).

    If the vendor takes extends the platform to a direction that has already been taken by a commercial vendor you loose the vendor and have to take care of the software(development costs), furthermore you scare off other vendors (seeing their work become useless). On the other hand your platform *looks* more feature rich for late adopters(who didn’t know the open source solution).

    Same could be achieved by “promoting” oss or even commercial systems as “recommended”,”supported” or even with man power: Late adopters would also see more features, the already developed OSS software would become better. Commercial systems could be bought(instead of developing it by themself, as it was in this case) or asked(for money or free) to open source it(I suppose in grants case this might have been an option).

    Furthermore using those approaches would cost adobe less money, since not their people are involved in the development, to get quality software for their platform and they can take their developers time for fine-tuning/extending the platforms base(like new sound api/video codec/whatever).

  32. (meh something got eaten, preview feature request)

    On the other hand, of course, you do that in order for your platform to have more features.

  33. This is a great discussion. I’d love to see a component marketplace developed by Adobe or a third party, as the Adobe Exchange isn’t working. I had dreams of creating swclibrary.com at one point: http://www.deitte.com/archives/2009/02/fighting_brain.htm

  34. @Brian – The iPhone app marketplace is the greatest success story of what can happen if such a structure was in place. I would have had 50% less work.

    If you can sign components (and sign them for individuals) like you can AIR apps then you’re in business.

  35. I don’t think lack of DRM is really stopping commercial component development, as some have stated. I know it wouldn’t stop me if I were to sell a commercial component. Most commercial component users are enterprises that have huge budgets and buying licenses is pretty normal for them. Yes, there would be some piracy, as with all software, but I don’t consider that a barrier to entry for my personal interests in this area.

  36. A lot of salient points here and reason to be on both sides of whether Adobe should accomodate third-party component vedors more or less, if such a true dichotomy even exists.

    I’d like to point out the MCOM AS2 component library brings bad memories of what happens with closed component sets. It’d taken us pretty far into development, then we got stuck due to bugs and inadequate documentation, and since we didn’t have any source code from which to take it that difficult final step, we eventually fell back to limited functionality with the built-in components. I don’t think there’s any avoiding these situations when source is closed.

    I think Adobe is doing exactly what they need to by putting their weight being encouraging the community to release reusable code for free. In most situations it’s better to have hundreds of actively developed mediocre libraries that are open than to have one great one that leaves you stuck as in the MCOM situation I described. As a developer, I’m skeptical of solutions that I can’t see the code for, and I think that’s a healthy view others should have as well.

    In addition, as someone’s already mentioned, SWF can be decompiled extremely well, and I don’t think that’s going to change. I don’t see that as a weakness of the platform, nor would I like to see Adobe spending cycles trying to build a wall around it – there’s more important features to be made for the player.

    (Disclosure: I worked at Adobe during FP9 development in particular with the Flash CS3 components)

  37. Hi there, I agree, Flash’s component system needs to be completely revised, either by Adobe or by a third party. I think it’s ripe for an open source project and would be more than happy to contribute.

    I find Yahoo’s Astra components set for Flash to be a reasonable substitute for the components that were deleted by Adobe from Flash CS3. (I dunno if they brought them back in CS4, I found using CS4 so painfully slow even with 4gb ram I uninstalled it).

    http://developer.yahoo.com/flash/

  38. My thoughts got so long I put them in my own post:

    http://www.flextras.com/blog/index.cfm/2009/10/1/How-can-Adobe-Facilitate-a-Commercial-Ecosystem-around-the-Adobe-Flash-Platform

    For those who said they are interested in commercial Flex components, I hope you’ll check us out.

    For those that have components they want to polish up and sell, and are interested in the marketplace idea; I’d love to talk to you about the possibility of turning your components into Flextras components.

    http://www.flextras.com/?event=ContactForm

  39. – Create a “Flex expertise ideas pool” where Adobe Flash / Flex developers can share the possible schemes of making money with Flash Platform.

  40. Hi,

    coming from Java to Flex, the thing I miss the most is the quality components. But I don’t recall ever buying them, it was mostly stuff from the Apache Foundation. So something similar would hopefully foster quality components, but open source. I don’t really think there is a significant market for commercial components, though. I’ve been freelancing in Flex and Flash for 2 years and I’ve only bought one component.

    Ariel

  41. I used to work with third party components all the time back in the Flash 8 days. And more often than not it was a nightmare: I’d spend so much time pulling out the “junk” in the component framework/libraries (which were all different) that I could have done the whole thing myself from scratch myself, and often did. And trying to get support for many 3rd party commercial components was a freakin nightmare (mCOM does come to mind, sorry Grant). Problem was, using the Adobe MX 2004 component set wasn’t any better: darn thing was quirkier than Weird Al Yankovick. You virtually had to write your own to get anything done. (And don’t even get me started on Flex 1.0, what a piece of junk).

    So I think a lot of the damage to the third party component industry happened early on, and many developers such as myself have an ingrained aversion to 3rd party components because of it. In fact, I’d wager that many developers’ bad experience with third party commercial components in general in those early days is what helped create such a strong open source community.

    But Flex 2/Flash 9 changed things tremendously, and I think we’re seeing the potential for a renaissance in the component marketplace. Because suddenly there’s a standardized framework to build upon, and developers do not need to throw out as much “junk” in the AS3 component libraries.

    I disagree that FOSS is “killing the commercial component ecosystem.” The open source community is only antithetical to third party components if those components are of the “enhancement” or “mashup” variety IMO. For instance, you can find a flash component which mashes up Google Maps and presents you with a no-fuss API to drag and drop a google map right into your project. I could only see myself buying such a component if I had not already created one in a personal project that I could modify for the purpose, and I didn’t want to bother spending the few hours it would take to create one myself, minus the slick API. Or if I were a junior developer tasked with creating such an app, and the time I’d have to invest would make purchasing the component worth the effort. Often I can’t see myself buying such “mid-level” components because there are so many blog posts and tutorials on mashing up stuff or extending stuff, or low level APIs for doing stuff, that using such a component really isn’t worth the effort.

    Unless… If mid-level third-party components were well presented, organized, plentiful, user-rated and cheap, why would a developer want to author a blog post on extending a Flex component or creating a mashup, if they can make a few bucks by selling it as a cheap component? So on the inexpensive end of the scale, I do see a danger that third-party components may present a threat to the open source community. So I’m not thrilled at the idea of helping FlashKit-style components be more successful. Open source throwaway components, sure, great. Just don’t make me pay for some dude’s experiment that I could have read in a blog post.

    Medium level components, that are not some-dude’s-experiment, nor enterprise level, present a bit of a gray area. I’d like them to succeed, but I don’t see them as a terribly viable business model, because there may be some crossover/conflict with FOSS.

    But on the other end of the scale, there is still a huge untapped market for “enterprise components” which are miniature self-contained applications in and of themselves. Such as the iLOG Exlixir components. Such as the SPF Library. Or components which are linked to a proprietary technology, such as the proposed Nitro-LM component. So I would like to see that market be nurtured, principally because it is a much different market than open source components.

    Adobe should be careful that when it allocates resources to an in-house project, that it does not upset the enterprise component market.

    And my recommendation to component makers: if you’re going to sell components for a living, don’t sell mashups or extensions, or you’ll go hungry watching people rip off your ideas and develop them themselves. Build enterprise widgets with serious features, support and licensing. And remember that as a component maker, once your “main product line” is out of the gate, you’re going to be spending most of your time in support than in building and R&D. And if you have not accounted for this eventuality or built in a support model, you’re going to burn out providing free support.

    In my ten years as a Flash developer, I’ve seen Dreamweaver extension makers, AJAX widget makers, Flash component entrepreneurs, all burn out and leave the business in disgust because they didn’t have a solid business model. They got tired of providing free support, free upgrades and fixes, and watching some guy across the world rip off their code and resell their ideas. If you’re going to sell a product, you need to approach it like business, not an extension of your development hobby, or you’re gonna get burned.

  42. I’ve been developing Flash content for over 6 years. Not once have I bought a component. I have used open source projects.

    What if there was a standard place to market your open source projects with a standard donation system. This way, components can stay open source but there is more of a nudge for donating to the project owner.

    Somehow there would need to be a system of how much one donates to a project. Something like a Web Service component (wellconsidered.be) might only suggest a minimum of $5 donation, but something like PureMVC (puremvc.org) might suggest a minimum of $25. (all total estimates please). Maybe a minimum donation value isn’t necessary at all, but its a suggestion. I personally wouldn’t mind if I chose to donate and the project owner suggests a *reasonable* minimum.

    That being said, I do also strongly believe that Adobe needs to fix bugs, and finalize the platform before adding more features. Sure, some of their side projects are nice but as other people have mentioned, its time to fix what we got. I would love to see the native classes become bug free and add a few more things to the language (overloading & abstraction mainly).

    Keep it Open Source. I think marketing and donations could be a nice solution. Maybe GreenSock (blog.greensock.com) has got it right.

  43. I agree to keep flash projects open source. I have only once or twice bought a component, only to find out that I had to customize it because it didn’t do precisely what was promised.

    Adobe could fix their standard components that are shipped with flash, to make them more customizable, and more usable.

    Actually, the closedness of the SWF format is making it harder and harder to incorporate SWF files into regular HTML sites, so I don’t see how adding another closed system would help.

  44. Simple…

    Make components easier to build.

    They are so incredibly useful. I used to love making components in AS2. It’s too cumbersome now.

  45. I’ve been developing flash components for over 7 years. Documentation for creating components exists and although it could be better, I don’t see it as a problem.

    What I would really like is:

    – great standard tool for creating Flash help files. Not only for AS Reference but the whole thing. Creating Flash help files is really frustrating. Why can’t we have tools for creating docs that Adobe is using?

    – Improved component parameters panel. Possibility for conditional blocks of parameters, simplified and improved data collections(support arrays, objects), better color picker, etc. Standard component panel should excel in usability. Users should get used to standard way of setting component parameters. Only after that, fix problems with JSFL and Custom Component Panel(there are plenty).

    – LivePreview. There must be better and easier way to do it.

    – Improve capabilities for protecting components

    – Possibility for creating trial components

    – There are developers with lots of experience with Flash components. Discuss with them to make whole process perfect as it should be.

    I don’t agree that Adobe should put efforts in creating marketplace, component approval program etc. It is very easy to do that wrong and counterproductive(thats what Adobe Exchange is). It could also kill competition and open marketplace.

Comments are closed.