This is an experimental approach to fund some of the the development I want to do around Apache Flex. At the time of this writing, the project has reached over 10% of it's goal. There are a bunch of cool rewards including T-shirts, Flex Show content, and personal mentoring time with me. If you're interested in Flex, and how it is going to thrive under Apache, check out, and fund the Flextras AutoComplete Kickstarter.
I wrote this post for a Flextras newsletter. Before I get into details; I want to remind everyone that they should check out 360|Min coming this October. It is an unconference style event in Las Vegas by the folks who put on 360|Flex. It should be lots of fun and educational on stuff happening now.
Back in November, I wrote a newsletter entitled In Defense of Flash. There was a lot of client confusion about the future of the Flash Platform; and they were worried that all their apps would suddenly stop working; or that their investment in the platform would turn out to be a significant waste of time and money. My original post spoke about a lot of specific issues; but at the time some things were unknown. I thought it was time to revisit that post and see where things stand, 10 months later.
Flash Player on AndroidThe ball that started the “Flash is Dead” bandwagon rolling was that Adobe announced it would cease development on Flash Player for Android devices. This made sense to a lot of people. Although, it was nice to have a Flash Player in mobile browsers; no one was building browser based Flash Applications with mobile devices as the target. The fact that the iOS browser did not support Flash in any way decreases the ubiquity that the platform used to offer on desktop devices.
With the release of Android 4.1, Jelly Bean, Adobe has removed the Flash Player from the Android store.
There will be no certified implementations of Flash Player for Android 4.1Source
Beginning August 15th we will use the configuration settings in the Google Play Store to limit continued access to Flash Player updates to only those devices that have Flash Player already installed.
Although, this is sad to see; it is not a surprise. It is interesting to note that a few days after the app was pulled, the BBC pressured Adobe to return the app to the Android UK store; as they do not have another technology solution in place for browser based streaming on mobile devices, yet:
Adobe's mobile Flash Player has returned to the Google Play store in the UK. According to BBC News, Flash's encore is the result of pressure from the BBC and "strategic partners" that rely on Flash for their Android appsSource
It’s weird that an app with over 500,000 ratings, and a 4.5 star average could be considered a failure. Most of us independent developers can only dream of having that many people try out something we built.
Despite the news about Flash Player, I still believe that Adobe AIR, especially with captive runtime, is still a fantastic choice for building cross platform native mobile applications.
Long Live Apache Flex
In the original post, I spoke about Flex and how Adobe planned to donate Flex to the Apache foundation. At the time, details were very sketchy. We have plenty more information now. Adobe has successfully donated Flex to the Apache Foundation. They have contributed the Adobe Flex 4.6 code base, a testing framework named Mustella, and the Text Layout Framework used in many Spark controls.
In a few weeks, Adobe is expected to donate a new ActionScript compiler, named Falcon. The Falcon compiler will be included in Flash Builder 4.7; which was recently released on Adobe Labs. But we’ll have the code, and hope to get it integrated with Flex in the future.
In addition to the Adobe donations, there is a lot of new code and bug fixes done by the community. The Apache Flex team has released Apache Flex 4.8. I wrote about building Apache Flex 4.8 from the source last month.
Since an Apache release must be source only; they have also put together an installer Application which will allow you to easily prep Apache Flex for use in Flash builder. Flex has a lot of dependencies, such as the AIR SDK and BlazeDS, which Apache cannot distribute due to licensing terms. This installer takes care of that downloading and setup for you.
Flash Player on Windows 8
Another pressing issue is the Flash Platform support on Windows 8. As I stated in my original post, the “Windows 8 UI”—previously Metro—browser will not support plugins. This affects all plugins including Silverlight and Flash. However, Microsoft and Adobe have worked together in order to support Flash in the metro style browsing. Flash Player will be included as part of the browser.
I’m going to quote the Flash Platform runtime whitepaper, as the source here:
Flash Player release and debug players will be available and supported for Windows 8 Desktop and Metro style experiences on both x86/64 and ARM platforms.This was a happy surprise to many in the developer community, including myself. Flash Player will be supported on all variants of Windows 8. We’re still waiting for the formal notice that Adobe AIR will be supported on Windows 8; but for the moment we have to believe the Flash Platform Whitepaper:
Adobe is committed to adding both Windows 8 Desktop and Metro as supported platforms for Adobe AIR.I’m looking forward to converting Igor Knots, my mobile game, to a Windows 8 experience with Adobe AIR.
Two years ago, when a client approached me about building an application with Flex and Flash, I think we made the right decision. Ten months ago, when we decided not to abandon our project, or rebuild it in a different technology, I think we made the right decision. Today, if I were to start a new project, there are very specific questions I’d ask about the user base.
Does your app have to run in a mobile browser? If so; then don’t use Flash! However, if your target is multiple desktop browsers spread across multiple operating systems in your Enterprise; then Flash can suit your needs.
Do you want to run on multiple platforms? If so, then AIR allows you to deploy your app to Mac and Windows desktops; and as Native Android or iOS Application. AIR can help your app run on a multitude of devices and desktops. It may be a good choice.
Over the past few years a few friends have told me that I always have a plan. I didn't think about it much until it was mentioned to me, but I guess that is true. I'm always trying to think two steps ahead and plan my next move and carve out a path in life. Sometimes this is a lot harder than it is.
Gareth sent me a question through the Flextras site about the future of Flex, the availability of mobile components; and the viability of AIR.
Hi Jeff, I know things are a little bleak right now with Flex (hopefully with 4.8 SDK release things will perk up with the community), but I was wondering if you'd thought about still doing the mobile component creation. I'm still making AIR apps for mobile and have found the landscape pretty scarce when looking for various components [snip].
[snip] ...the flex mobile component still seems to be a viable model. I'll keep using Adobe AIR to make my cross platform apps until Adobe decides to get rid of that too :) I do the app thing as a supplement to my day job, so being able to purchase low cost components that will help make my apps more "snazzy" is something I'd look into (even at $5-10 a pop would be better than having to write it myself).
I've even considered the whole business model myself, but have not had the infrastructure set up to do it. Anyway, hope things are still going well with the Flex Components side of things. Just wanted to suggest something as I see your Flextras Friday Lunch, but haven't seen you on the "build" side of things recently.
I responded to this email after a very long day and about 4 hours past my bedtime. I think I was a bit blunt. I thought I'd turn my response into this blog post, perhaps with a bit more polish than the "late at night" ramble I sent to Gareth.
Things are a Little Bleak with Flex
I think I agree that things look a bit bleak for browser based Flash applications, and that has affected Flex. I also hope that Apache Flex can help turn things around; and I believe there are many ways to do this including improving performance on mobile applications (with AIR) and targetting other runtimes (such as HTML5).
There are also a lot of "little picture" things, such as bug fixes, that can help make Flex more pleasant to deal with.
I have faith in Apache and I have faith in the community. I just hope we can prove ourselves while Flex and Flash Player are still relevant.
Flex Mobile Components seem to be a Viable Model
I have been doing some Mobile Component development, but not much. There are some things in my Apache Flex Whiteboard. I have not wrapped up any of those components into the Flextras component set, though.
I wasn't sure what Gareth meant by Model in his original email to me. If he is referring to a "Development" model. Then, I agree. AIR offers a compelling offering. Right now it feels like there are lots of cross-platform development approaches for native mobile apps. AIR offers a good solution. I suspect over time, the market will condense and I hope that AIR is one of the success stories. I don't know if AIR will be the winner, but it has the potential to do so.
If Gareth was referring to a "business" model in flex Components, then I'm not sure a successful one ever existed. Or rather, I haven't found it yet. Selling Flex Components was never a viable model for Flextras. It grew to a nice side business, making roughly $10K a year, but that was not enough for me to do it full time. Even though I did do it full time for 2 years or so, though.
I had planned for a 70% drop in income to launch Flextras, then have it grow from there. But I actually had a 90% drop in income. At some point I stopped telling consulting clients to shove it.
Flextras was growing each year, although slowly, but Adobe pulled the rug out from under that. Generally we did 20% of the sales in December, yet after last November things just nose dived to nothing. That cut into revenues, of course. This year sales will be in the $2K range at best, most likely lower. There are a ton of different reasons for this; and not all of them are Adobe's fault. I could probably write a book on the many ways to fail in business.
What is the Future of Software?
The Internet will change software just like it will change music and movies. Boxed software is going to go away, just like CDs and DVDs.
The cost of duplication and distribution have fallen close to nothing. Creation of said software is, basically, a sunk cost that no customer cares about. Marketing is still needed, though. People have to notice you. But, as the cost of software drives towards zero; how does a software development company make income?
I believe the future of Flextras is in formal support services. I've been working on this for a while. I hope to have it ready in time for 360|Flex in Denver. In 2011. I could write another book on why this is so late. The vendor I hired to rework our shopping cart took 6 months past the deadline to deliver code that worked.
Delivering code to spec is a completely different issue; and that never happened. I've lost count of the number of times I've missed the goal of "Flextras selling Support Services."
What Have I Been Up To?
I should be spending my summer seeing if I can make the new shopping code do what I want it to do; or if I should throw it out and start from scratch. But for reasons of personal sanity; I put that aside. I need to crawl back into my cave and refresh.
I've been trying to spend my summer riding waterslides at the local amusement park, going to as many Soul Asylum concerts as I can, and catching up on some video games I hadn't played yet. Check out the new Soul Asylum album; it's great.
What is the Plan?
Ideally, I'll come back to the shopping cart in 3rd quarter of this year, ready to tackle said problems with a fresh mind. Then I'll have 1-2 (or 6 or 12) months to finish the infrastructure problems that would allow Flextras to sell support services around Flextras and [in theory] Apache Flex.
Once that infrastructure is in place; I'll turn my head back to promoting said stuff and building new components. I have even consider launching a Kickstarter [or two or three] to 'fund' my Flex development time.
I'd love to create a Spark Alert class that works well on Mobile. I think I can do better than what is already out there. I'd love to create a ViewStack that easily supports Spark Components, MX Components, and even non Flex Display Objects because why does a ViewStack need Flex dependencies? I'd love to create a Spark port of the Flextras Calendar. That can be mobile optimized easily.
But a lot has to happen for any of this to come to fruition.
Make sure you're signed up for the Flextras Monthly Newsletter if you want to know when stuff like this moves forward. It's the best way to keep up on any Adobe Flex or Flextras related news I have to share.
This question comes in from a reader; and to be honest I've been at a loss as to how to respond without writing a book. I finally found time to devote some time to putting down some thoughts.
I'll start by quoting the full question and then trying to answer points one by one:
As I was viewing your blog I noticed you seem very knowledgeable about Flex. I've just become aware of Flex and bought a few books then realized that Flex is dependent on Adobe Flash which has recently been dropped from Linux support which affects Android and the growing mobile market. I was wondering what your insight, I know you don't have a crystal ball, is on Flex usage and could you tell me if you think it has a future. Also, what is Flex really good at? I've not been able to find any example Flex apps out there... only Adobe Air apps. Thanks!
I'm going to answer the question in reverse order. First,
...what is Flex good at?
Flex is a Software Development Kit used for building Enterprise Applications. It provides a component set and a framework for rapid development. By making use of the Flash Player runtime; it is easy to build a consistent experience across multiple desktop browsers.
I've not been able to find any example Flex apps out there... only Adobe Air apps.
An AIR App can be a Flex app. Most Flex apps that I'm aware of are internal apps used for browser based applications in an "big business". You probably won't find too many public applications.
Now, Let's tackle this sentence; which is full of misconceptions:
I've just become aware of Flex and bought a few books then realized that Flex is dependent on Adobe Flash...
This isn't necessarily true. Flex is dependent upon Adobe Runtimes; however the browser based Flash Player is just one of them. Adobe AIR is a second runtime which you can use to build Flex applications. Adobe AIR can be used to deploy your Flex app as a desktop for Mac and Windows, or as a native mobile application on iOS, Android, or Blackberry's Playbook.
I expect that, in time, we'll be able to use Adobe AIR to create Windows Metro applications and Native Applications for the Blackberry "next" phones. More info on Adobe and its runtime commitment is in the "Roadmap for Flash Runtimes" whitepaper.
However, keep in mind that Flex is in the process of being donated to the Apache Foundation and the Apache Flex Project is in the process of creating their first release.
...which has recently been dropped from Linux support...
Adobe has not dropped Flash Player support on Linux. However, as I understand it they will only be supporting the Flash Player on browsers which support a new plugin API that was developed in conjunction with Google. At the moment, only the Chrome browser will support the Flash Player on Linux; however if this API is implemented on other Linux browsers, it seems probable that this will also come with Flash Player support.
As I understand it, however, Adobe AIR, will not have any support on Linux moving forward. I understand a lot of developers find this troublesome because they were using Adobe AIR as part of their build and test process; which run on Linux machines. In practical terms, this has not affected any of my clients.
...which affects Android and the growing mobile market.
Adobe support for Linux is completely different than Adobe's support for Android. Adobe did cease development of the Mobile Browser Plugin for Android. But, you can still use Adobe AIR to build Native Android applications.
In terms of clients who I speak to; people are more interested in building Native Applications on devices and care less about browser based applications--which is where Flex excels. I do not know of anyone building Flash content targeted towards mobile browsers.
tell me if you think it has a future
It's hard to say. At the moment, a lot of people I talk to are taking a wait and see attitude. They aren't ceasing Flex development or retiring their current applications. However some are halting on starting new projects with a technology that is "deemed" To be abandoned. People want to see the Apache Flex team create a formal release. They want to see the Apache Flex team prove they can move the SDK forward in a relevant manner. Once we prove that; I think things will improve in terms of corporate mindshare for Flex.
If I were to "guess" what is going to happen, I'd say that browser plugins are going to go away completely in the future. Apple started this with the iPhone; and Microsoft is going to accelerate it with Windows Metro apps. However, I believe that Adobe AIR is going to thrive; as it solves a unique problem (Cross platform deployment on mobile) which the browser based Flash Player used to solve. I anticipate that AIR may become more focused / niche than the Flash Player was; but I anticipate it will be a profitable niche.
There is potential for great things; and I believe that the potential can be realized.
If you're scared that Flash is dead; I can understand the fears. Adobe has been stomping us into the ground as if were the ashes of a freshly smoke cigarette.
I expect 2012 will be a year of transition for Flash Platform Developers. It may be because we have bitterness towards Adobe, or that we want to "follow the jobs", or just because we love learning new stuff. We'll spend a lot of time learning new technologies, such as Objective C, Java, and HTML5.
Learning all that new stuff will make us smarter, and better, developers all around. The 360|Flex schedule is full of sessions on these alternate technologies. If you're a Flex Developer and are looking for your next steps, this is a great conference to go to.
I'll be speaking on building games with Flex, and explaining why that is probably a bad idea. There will be tons of good info you can take with you back to Enterprise apps, especially in the mobile space.
I think there is a good chance that I'll be paying the bills by Flexing long beyond 2012; but that won't stop me from learning new stuff. Swing by 360|Flex in Denver this April 15th-18th and say Hi to me.
This is a modified version of a letter I wrote to a client to defend the choice of using Flash. This issue has come up due to some recent PR heat that Adobe is abandoning Flash. I believe that Flash and Flex were the right choice for building Enterprise applications a year ago. I believe that Flash and Flex are the right choice for building Enterprise applications today. As HTML5 tooling, frameworks, and related resources improve I will reevaluate my needs and the needs of my clients on a routine basis. I had to remove some client specific information, but the bulk of the information remains the same.
Here is the letter:
Per our recent discussion, regarding Flash and Flex, I wanted to clarify a few things to in writing. In the recent weeks, many media outlets have reported that Adobe is abandoning The Flash Platform in favor or HTML5 solutions. This represents an incomplete understanding of the facts, and I hope to clarify that here. Such a statement would be like saying Amazon.com is going to abandon selling real world goods because they released the Kindle Fire.
What is the Adobe Flash Platform?
First, for completeness, I want to clarify what Adobe's Flash Platform is. The Flash Platform consists of multiple deployment runtimes, development tools, and frameworks that are integrated across the full Adobe Creative Suite. Here is a list of some Flash Platform elements:
- The Flash Player: Flash Player is a browser plug-in which allows us to deploy web based applications to Windows, Mac, Linux, Android, and Blackberry.
- Adobe AIR: Adobe AIR is a runtime that allows us to deploy native applications to Windows, Mac, Android, iOS, and Blackberry.
- Flash Professional: Flash Professional is a tool for developing timeline based animations.
- Flash Builder: Flash Builder is an IDE to help programmer's write advanced code.
- Adobe Flex: Flex is the Software Development Kit that helps programmers build, debug, and deploy Enterprise applications with the Flash Platform. Flex includes a UI Component library, a SWF compiler, a command line debugger, an application profiler.
There are more aspects of the Flash Platform ecosystem, but I highlight these because they come from Adobe and are prominently used by Flash Platform developers.
We have built our applications using Adobe Flex to target the Flash Player desktop runtimes. One part of this decision is the breadth of the tooling available to us decreases the time it takes us to deliver a finished application. The ease of styling the default Flex Components also provides the applications with some cross platform elegance. They will work without change on the Windows and Mac machines used by your employees.
Is Flash Really Dead?
I want to quantify some of the press announcements over the course of the past week. The first one is that Adobe will no longer, personally, develop the Flash Player for Mobile Devices. This means that Adobe will not produce version of the Flash Player for Android, or Blackberry devices. To quote:
"We will no longer continue to develop Flash Player in the browser to work with new mobile device configurations (chipset, browser, OS version, etc.) following the upcoming release of Flash Player 11.1 for Android and BlackBerry PlayBook"
If you look at my list of Flash Platform elements above, it is clear this affects a very small subset of the Flash Platform; and not one we have targeted in our development. Through Adobe's Open Screen Project, licensees are able to continue their own development of the mobile Flash Plugin. RIM has already stated they will do this for Blackberry devices. To quote:
"As an Adobe source code licensee, we will continue to work on and release our own implementations. RIM remains committed to delivering an uncompromised Web browsing experience to our customers, including native support for Adobe Flash Player"
Moving forward, Adobe will focus on development of Flash Player 12 for desktops, and focus on using Flash Platform technologies to deploy Native Apps to mobile devices:
"Our future work with Flash on mobile devices will be focused on enabling Flash developers to package native apps with Adobe AIR for all the major app stores."
"We are already working on Flash Player 12 and a new round of exciting features"
According to the Adobe Max 2011 keynote, the Adobe touch apps, including Photoshop touch, were built using the Flash Platform. This is the surest sign of Adobe's commitment to the Flash platform.
"You've already seen some incredible examples of applications built in Flash. What do you guys think of the touch apps that Kevin showed you yesterday? So, they were useful and usable, they had rich UI, performed really well, very engaging interfaces. What you weren't told is that almost all of those applications were actually built in Flash!"
Source ~14 minutes, 20 seconds
Flash Platform technologies are continuing to evolve and provide a strong value proposition for our current use.
What does this mean for Flex?
A big part of the work we have done together has been based on the Flex SDK, and I wanted to highlight some changes about the future of Flex. The model with which Flex is developed will change. First, Adobe is working on making Flex part of the Apache Foundation:
"Adobe is in the process of preparing two proposals for incubating Flex SDK and BlazeDS at the Apache Software Foundation."
The Apache Foundation is one of the leading Open Source Foundations and the project will be managed by Adobe and some high profile Flex Community members from the Spoon.as project, an effort from the Flex development community to help improve the Flex Framework.
Continued development will take place under the open source foundation, however Adobe still plans to implement the road map they discussed at Adobe Max. This will include new components that make building applications easier, and an improved compiler that will make development easier.
Additionally, Adobe is committing to future Flash Builder improvements, with support for the future releases of the Flex SDK:
"Future versions of Adobe Flash Builder will continue to provide code editing, compilation, debugging and profiling support for Flex applications. Adobe will undertake the required work to ensure Flash Builder is compatible with future releases of Flex SDK."
The future of Flex is strong.
HTML5, ColdFusion, and Silverlight
Much of the recent press talks about how Adobe is abandoning Flash in favor of HTML5 development. I believe the information above is clarification that Adobe is not abandoning Flash. However, it is undeniable that they are investing heavily in HTML5 development tools. The primary reason for this focus is mobile device support. All major mobile web browsers-Android, iOS, and Blackberry--use the same rendering engine, Webkit, therefore providing a consistent experience across mobile devices.
"Wallaby is the codename for an experimental technology that converts the artwork and animation contained in Adobe(r) Flash(r) Professional (FLA) files into HTML."
HTML5 is something to watch carefully over the next 3-5 years, but it is not yet ready for Enterprise applications.
Another Adobe technology used in our projects is ColdFusion. ColdFusion is alive and well, and not affected by any of the recent announcements:
"There is no change in plan for next version of ColdFusion codenamed Zeus and we continue to go aggressively trying to make Zeus a kick ass release."
"We're still here--same leadership, engineers, and sales team as before last week--and we're still selling ColdFusion 9 and working hard on the next version of ColdFusion, codenamed ColdFusion Zeus."
With ColdFusion, we have nothing to worry about.
We had discussed Silverlight as a possibility, so I wanted to make you aware that many of the same issues which Flash Player experiences on Mobile devices will also be issues for Silverlight. In Windows 8, Metro style browsing will not support plugins:
"The Metro style browser in Windows 8 is as HTML5-only as possible, and plug-in free."
This means that the Windows 8 Metro UI will not support Flash or Silverlight. Traditional desktop browsing will still support both, but many believe that the metro interface will be the Microsoft interface for Tablets and other mobile devices. Additionally, rumors are that Silverlight 5 will be the last release of the player:
"Several of my customer and partner contacts have told me they have heard from their own Microsoft sources over the past couple of weeks that Silverlight 5 is the last version of Silverlight that Microsoft will release."
Converting existing projects to Silverlight would not solve any issues for us at this time, and may introduce other issues later.
Right now, today, I still believe that Flex is the right choice for the development we are doing together. We should continue to evaluate the state of alternate technologies on a routine basis to verify our choices. But, today I leave you with this quote
"..the performance, framework maturity and robust tooling provided by Adobe are cited as critical factors by enterprise customers as to why they continue to select Flex."
There have been a lot of emotion in the Flex and Flash community over the past few days; regarding certain decisions that Adobe has made about Flex and Flash and their utter failure to communicate with us, the developer community. The news, and responses, have been overwhelming negative.
I grew up an eternal optimist. While I see a lot of challenge ahead, I also see a lot of opportunity.
Here are seven reasons I'm happy to be a Flash Developer today.
- Adobe is focusing their Flash related efforts to allow us to easily build cross platform native applications. Let's face it; on mobile devices native apps are lot cooler than browser based apps.
"Our future work with Flash on mobile devices will be focused on enabling Flash developers to package native apps with Adobe AIR for all the major app stores."
Flex being released to 3rd party open source foundation, most likely the Apache Foundation. This is kind of like the Spoon project with a +10 power up.
"We are preparing two proposals for incubating Flex SDK and BlazeDS at the Apache Software Foundation."
- A lot of Adobe's Flex Roadmap discussed at Max will be implemented to completion, including the new Falcon Compiler, and some new spark components. Additionaly, Adobe will continue with Flash Builder, which is Adobe's best ActionScript editor.
The next version of Flash Player will be developed on Desktops; and that is all many Enterprise Applications Need anyway.
"We are already working on Flash Player 12 and a new round of exciting features which we expect to again advance what is possible"
Adobe wants to use the Flash player to continue to extend the web. Many of their innovations will be used a test bed to bring things back to formal HTML standards bodies. PixelBender turning
into CSS Shaders and the poster child of this approach.
"We will continue to leverage our experience with Flash to accelerate our work with the W3C and WebKit to bring similar capabilities to HTML5 as quickly as possible"
This approach is good for web standards; and good for all developers. We could easily argue this is what early browser makers did, and continue to do to move forward HTML.
- Many of the skills we have developed using Flash Platform tools will be easily applicable to the next generation of HTML5 related tools. That can give us a head start in the job market. Adobe is going to be adding HTML5 support for many of the tools we already know, such as the Flash Professional export to HTML feature.
- And If all else fails, HTML approaches to cross browser development will take 2-8x longer depending on the tasks at hand. You can laugh all the way to the bank.
I try to minimize cross posting between my blogs as much as possible; but this one is a cross post. Flex Library projects cannot access mobile skins by default
If you think this is 'broken' you should go vote for the bug report so that Adobe will fix it in a future release.
You can read my full write up over on the Flextras Blog.
I got "found" via twitter late last year by Adam Tel, an author for Smashing Magazine. He was writing an article and wanted to talk to component developers and was writing an article about such things. I answered a few questions for him over e-mail and this is a transcript of my answers. I'm not sure if I'll make it into an article. At the time I'm writing this post, I cannot find such an article on the site. This is a transcript of our conversation.
Hi guys, Thanks for agreeing to participate in this article, which would be published on SmashingMagazine.com. I have a few questions, feel free to skip the ones you don't feel like answering. Please note that these answers would be quoted in the article, and probably published, so if there's info you don't want to share, feel free to omit it. So here we go:
1. Can you please describe shortly what kind of components you develop, and who uses them? Assume some of the people reading do not know anything about Flex.
At Flextras, I build User Interface Flex Components. Flex is part of Adobe Flash Platform and is used for creating Rich Internet Applications, on the web, on your desktop, and on your devices. I provide developer's with user interface widgets, such as a Calendar, that they can use as a starting point to more complex application. Our goal is to provide developers with a Flexible, extensible code base that they can easily adapt to their needs.
[Future Jeffry Note: I probably should have said that our main selling point is that we save developer's time when compared to writing similar components on their own].
2. Are you currently making a living from selling these components? Or is it just a side gig?
The long term intent is to grow Flextras into a five person company, generating about $600K in sales. We are not there yet. Flextras is about to enter it's third year in business. During our first year, the company had a financial loss. This year, we will turn a profit, however not enough for me to take a salary.
I make up the "balance" of my income by doing some private training, and small custom development projects, primarily for small businesses.
3. What are your goals for the next year?
Our biggest goal is to stay in business for another year. We haven't figured out how to make the business work yet. We expect to add at least one, if not two, more products to our component set. We also plan to introduce some behind the scenes changes so we can start selling premium support plans and subscription style offerings.
[Future Jeffry Note: I often use 'we' a lot when referring to the company, because I consider as eparate entity than myself. But I am the only employee]
4. What advice can you give developers who would like to start selling components, or code-related products (as opposed to just providing coding services) Your answers could be as short or as long as you wish - the more information the better, I just don't want to be a bother:)
I can offer a lot of advice for developers.
First, they need to realize that it takes more than good programming to make a business work. You'll need to learn about marketing, and cash flow, and customer support, and project management, and taxes, and dealing with the competition. How are you going to make money? Who are your customers? What need are you solving for them? Do you know what you're really selling? It is probably not components. Flextras is selling time. Instead of taking 3-6 months to build something, they buy it from us for a day's wage. The savings to them can be significant. But, only If we can communicate the value of our offering.
Second, you need to be aware of the market you're in. We live in an age where digital bits are infinitely replicated and easily distributable at nominal cost. It has happened for the music industry, and it is happening for the movie industry. Software won't be far behind. A lot of business models focus on using Digital Rights Management to make an infinite good scarce. That is why you can't watch Hulu on Google TV, for example. That is why I can't install Photoshop on both my laptops.
DRM is an annoyance to customers and does not stop the pirates from getting at your content. Think twice before you go down that route. Instead of trying to limit your customers, what can you do to use these promotion mechanisms to promote your business? A good business will focus on selling scarce goods, not easily replicated. Many software companies make their money by selling support contracts and giving away their software for free. I call that the scarce good of "access". Another scarce good that I think will be of interest to software folks is the ability to create more. Perhaps people will pay for future updates, or new product. The cloud business model is to sell access to a server somewhere that resides your data. It is something that is not as easily replicated as a boxed software product.
Finally, I'd say be sure to ignore the experts of your field, including me. They'll often tell you your idea sucks or can't be done. The biggest changes are made by the people who didn't know enough to know better. I'm never comfortable moving forward with an idea until someone tells me it's bad; because then I know I've gotten at least one honest opinion about my idea.
[Future Jeffry Note: I'm posting this in late December, with a release date of February. I just wanted to get it out of my "list of things to do" and I thought it might be interesting to some]