I have consolidated all my blogs, both work and personal at http://johnjwright.com. Please visit there to visit my blogs related to EUI, Flex and AIR.
For those of you who are looking for the source code for the filtering controls you will find the source code for the examples below as well as HierarchicalBrowser, the itunes like browser. The actual source code for FilteredCollectionView, CompletionInput is coming soon. Andy Mcintosh and I are considering starting a project on FlexLib for this where we will release the components as great examples of clean components that use a Flex 4/Open Flux style of developing components. Stay tuned.
Also, I will be moving my blog to http://johnjwright.com soon, so watch for that.
Here is my presentation from 360 Flex entitled “Building an Itunes-like browser and other filtering controls”. I also have included all the source code here.
First, here is my presentation: http://johnjwright.com/downloads/Itunes-like%20Browser.pdf.
Second, here is the link to the Itunes ripoff I showed that demonstrates hierarchical browsing as you type: http://johnjwright.com/downloads/ITunesRipoff.zip.
Here is a link the filtering control examples that Andy Mcintosh build based on the filtering code we use in Watson. These are very cool and handy and include basic filtering, a CompletionInput control, and a TokenField. . http://johnjwright.com/downloads/Mcintoshes.zip.
360 Flex is coming right up! I will be speaking at 360 Flex in Atlanta in a Custom Components session entitled “Building an ITunes-like Browser Component for Flex”. I am working on an internal project for Adobe with one of the best custom component developers in the business, Andy Mcintosh from EUI where I work, and he has created a few really cool components for the project. I will be presenting one of these at the conference, something very useful that every will be able to take back and use somewhere on a project that requires the use of large hierarchical data sets.And this just in for those sitting on the fence thinking about attending. According to Tom Ortega and John Wilker, the conference organizers, Adobe is planning on make a big announcement at the conference. This could be something very exciting related to Flex 4 or something we have not considered yet.
What you have not registered for 360|Flex yet?
360|Flex Atlanta, February 25-27, is the place to learn about Flex and AIR from
Adobe and community speakers. Included in the price of registration is a free
pre-conf, all day training session on Flex 101. We’re the premiere Flex and AIR
conference. $480 for one or $1500 for a 4-person team. Visit http://360flex.com.
In the HierarchialBrowser I am working on and will be talking about at 360 Flex I was noticing a performance problem and found out that the culprit was setting a large list with over 40,000 item selectedItem to a string. Apparentely this causes a long search across the list. I changed it list.selectedIndex = 0 and that reduced the time down to about 10ms. The gotcha is to use selectedIndex when possible on a large list and lookout out for cases when you failed to do so.
If you use are using Flex remoting, and you have a nested ArrayCollection, make sure that you compile the Flex VO class behind that ArrayCollection into your SWF by referring to it somewhere. Otherwise, you will ManagedObjectProxy classes instead of the concrete Flex VO type when Flex does the deserialization.
E.g. say you have a class like:
public class ParentVO
public var notes:ArrayCollection; //holds NoteVO objects
And then NoteVO is declared as follows
public class NoteVO implements IValueObject
Somewhere in your code you need to have referenced NoteVO or it won’t compile into your SWF. Usually you will do this anyway because you will use notes but in cases like using data binding, perhaps you might not otherwise ever refer to NoteVO and in this case Flex won’t use it as the concrete class for the notes ArrayCollection and you might get unexpected results.
Powered by ScribeFire.
EffectiveUI has moved its Denver location to a warehouse right across from Coor’s field, in lower downtown (LODO) Denver. It is a fresh start for me as I have a new work environment, a new project in eBay Desktop, and a new work neighborhood. Since the warehouse is under construction right now we are all in the same room working with architect like hover lamps. I will try to post a picture soon. So far the lighting has really helped me concentrate on my work. Also being in the same room as everyone else means I never feel like I am missing out on anything so oddly I am able to concentrate better so far. EffectiveUI has provided us all with noise cancelling headphones but everybody works quietly most of the time anyway as we all get into development or design mode.
At this time I am also re-dedicating myself to some self-management techniques which I won’t drone on about but I will highlight a few. I am big fan of David Allen’s Getting Things Done and along those lines I am using 2 really good tools, Journier and iGTD. iGTD is an amazing implementation of GTD for the Mac that I have used ever since it came out. It has so many features and integrations that it will fit well with whatever Mac mail, journal or other tools you use. Journier is my journaling tool and it allows for rapid entry of journal entries, tagging, smart folders, blogging, audio, video and other features. I use it to keep notes on every phonecall, meeting, everything I do during the day, mind sweeps, and everything else that doesn’t go into iGTD or this blog. The tagging and smart folders provide a very flexible form of organization to help you easily keep track of your notes and thoughts.
Back to work on eBay.
I am very excited to announce that as of about 3 weeks ago I am an official member of the eBay San Dimas project, which is a one year old effort to create an Adobe AIR based version of eBay. I just returned back from eBay where I was able to learn a ton more about the project. I will be in charge of developing the new messaging functionality in eBay Desktop and we already have an exciting design that will simplify and enhance eBay users ability to send and receive messages. A first version of what we are thinking should be out in a version for you private beta users very soon.
The goal of the San Dimas project is to create an application version of eBay that remembers more user settings, that can work offline, and that allow users to work more quickly and efficiently to perform eBay tasks. Building applications is what we at EffectiveUI love to do best and I have quickly learned on this project through the able direction of Alan Lewis from eBay that for the first public release of San Dimas the focus will be on simply on creating a very usable and straightforward application, one that greatly simplifies the use of eBay. The focus therefore will be on execution of key eBay functionality in the application. This will be the team’s focus for the rest of the summer as we push towards a public beta.
Our computers are feeling a bit touch deprived. They are now beckoning for us to touch them and not just with one finger like an ATM. Multi-touch interfaces have arrived in the IPhone and Microsoft Surface and as a recent Time article perceptively notes, users are going to get twitchy fingers and want to be touching their interfaces everywhere (no jokes please). Here are some of my initial thoughts and feelings as a user interface engineer:
- I can feel users cry out for this technology to develop as quickly as possible as soon as they get a taste of it. I can sense a huge ground swell of demand that I think is being radically underestimated.
- I want to get my hands on a SDK for this technology asap and start to learn how to meld my existing skills into developing interfaces for multi-touch. I wonder if I am going to be able to leverage my existing OO skills and UI design partterns from Flex or is there going to a whole new way of programming.
- I wonder about how multi-touch will affect my work environment as a software engineer. Will there be multi-touch IDEs? Will I stand up and work with my fingers on a screen? Will I finally be able to get out this static dead horse typing position that is leaving me to inflexible for my other passion, trail running?
- I wonder how much more I should learn about Microsoft technologies like WPF that will undergird Microsoft surface. Will Microsoft be the leader in multi-touch software development? Or will there be lots of independent and open-source communities that spring up? What role will Apple play?
- Will the Flash player which I have come to love will someday be ported to have multi-touch input support? Will Adobe come on board or can they?
These are a few of my initial thoughts about multi-touch technology. I have been so busy with my current project I haven’t had much time to write about alive apps. So much has happenned that it is time to get back involved with the community and start sharing my thoughts again.
My company, effectiveUI, is hosting a RIA Summit. Dang, that’s big stuff. This one is going to have some great business strategic thinkers like Ryan Stewart. He blogs about the summit in a recent post. Most of the summits for RIA focus on developer issues since Flex and Apollo are still emerging technologies. But this one will focus on more business issues. I am proud that we are involved with this one and look forward to meeting more of you here.
To sign up go here.