Why isn’t there a Flex AutoComplete?
One of the glaring omissions in the
Flex Framework is the lack of an AutoComplete component. AutoCompletes are everywhere such as in your
browser’s address bar; or in your email client’s addressing fields. Even Google and Bing use AutoComplete as part
of their search engines. What do you do
if you want to add an AutoComplete to your Flex application?
Back in the days of Flex 2-3 days, if
you needed an AutoComplete, you’d just search for one. There were a lot of free open source
AutoComplete components. Unfortunately, many of these
open source components were incomplete. The lack of good one was our incentive to
build the Flextras AutoComplete. We’ve had many happy customers thank us,
telling us that our implementation “just works.”
Then, along comes Flex 4. Adobe surprised developers with a new component
architecture. Spark made skinning much
more powerful and paved way for improved performance. But, by the time Flex 4 rolled around; a lot
of the enthusiastic early adopters had moved on, leading to fewer open source Spark
components. At Flextras, we quickly
built a Spark version of our AutoComplete component. This component was limited to the bare minimum
needed to get the job done and missed the API breadth of our MX AutoComplete.
In January 2012, Adobe donated Flex
to the Apache Foundation. For the first
time, the Flex community can really step up and make a difference in the
evolution of Flex. Unfortunately, open
source development costs money. That
money may come from professional organizations—like Adobe—that pay employees to
work on open source or it may come from enthusiastic developers who are willing
to give up their spare time to be part of something greater.
I am using this Kickstarter as a different approach to fund some of my own Apache Flex development time. This will allow developers with limited free time to give a small amount of money to help Apache Flex.
I believe it is time that Flex had a
built in AutoComplete component. Do you
agree? Then keep reading!
What I will do for you!
People keep asking us “How do I do X
with your Spark AutoComplete? ” and we say “You can’t, but our MX Version
supports that.” Now is the time for you
to step up and help create a fully featured open sourced Flex AutoComplete.
The current Flextras Spark AutoComplete
has a bare bones API; only exposing a filter function and the text that the
user typed. However, our MX AutoComplete
is full featured and allows for lot of control to how the AutoComplete will
work for your application. If funded,
this project will implement these features on our Spark:
selectOnEnter: If set to true, will select an item automatically when the user presses the enter key.
selectOnEqual: if set to true, the AutoComplete will automatically select an item if your type ahead text is equal to an item.
selectOnOne: If set to true, will select the item automatically if only one item is left in the dataProvider.
cursorLocationOnSelect: Specifies the cursor location after an item is selected; either at the end of the selection or at the beginning of the selection
resetIndex: This property allows you to specify a default selectedIndex when the dataProvider is set, or reset.
downArrowVisible: Just by changing this property you can switch from a AutoCompleteComboBox to a AutoCompleteTextInput and back.
Many of these features were
implemented in our MX AutoComplete per client request. With your help, we can expand the Spark AutoComplete and donate all finished code to Apache Flex. Flex Developers will finally have an AutoComplete
component in their arsenal.
You’ll be hard pressed to find a Flex
developer who has thought more about how to implement an AutoComplete than I have. Part of the Flextras business has been building and supporting our AutoCompletes.
I’ve been out in
the trenches helping you guys, whether answering your questions on
StackOverflow, bringing you great interviews at The Flex Show, and answering your questions at our weekly Flextras Friday Lunch sessions. I'm also blessed as an Apache Flex Contributor and have already made some contributions to my whiteboard at the Apache Flex SVN repository. You can help me make one more, important contributions.
What do you get out of it?
Aside from the joy you'll receive for helping an
open source UI Framework; we have some cool rewards. I am most excited about the $25 tier, which will bring you an exclusive T-shirt created only for project backers. You can also get some premium content from The Flex Show, either in digital form or physical.
On the higher end; you can
pick up the full Flextras library at a deep discount compared to purchasing it new, or even get some private personal mentoring time with me, either in person or on Skype. I’ll help you with whatever you need.
Remember that with Kickstarter, funding is all or nothing. So, take a look at the reward tiers and see what works for you. With your support, we can finally get an AutoComplete component built directly into the Flex Framework.
Thanks, and I look forward to working for you! Together we can make Apache Flex better.
Risks and challenges
I don’t perceive any insurmountable technical challenges as part of this project. I’ve already done everything I plan to do here; except this time I’m just doing it differently.
There is a possibility that the Apache Flex project may reject my code donation because of legal or technical reasons. I think this is unlikely, as I (Jeffry Houser) will have written all the donated code and both myself and DotComIt (The company behind Flextras) have contributor agreements on file with the Apache Software Foundation. If that happens, the code will be released under the Apache license to all backers, and into a public repository somewhere.
There is a possibility that this contribution will never make it into a formal Apache Flex release. Contributors must vote on code that goes into a release, and there could be numerous reasons for not voting this code into a release. I'm only one vote of many on these issues.
The biggest roadblock is going to be scheduling the development around other commitments, such as consulting gigs, support for existing Flextras customers, and fulfilling the other rewards for you guys. Our target deadline for development completion is March 2013 and I believe that is realistic and achievable.
Learn about accountability on Kickstarter