We have built? a social networking site for families entirely in Flex. The app has a realtime connection with Red5 to the backend which is in Java. All communications is directly in objects. People get represented on the screen as shapes - this is the main UI. There are a number of performance issues we have not been able to solve due to a lack of specific experience in Flex:
? 1. when the shapes of the people get painted the browser needs 100% CPU for a few seconds on? a medium laptop, even though there are only about 50 objects. This is far too heavy. And it seems to grow exponentially with the number of shapes.
? 2. the overall size of the app is quite large - over 1MB which is an issue for all users with slow ADSL connections. Is there any way to reduce it
? 3. the overall memory utilisation is quite large which is an issue for users with older PCs - and in family there are many older PCs.
? 4. deeplinking does not work on IE6 without causing a refresh which for some reason triggers a re-login of the app. Perhaps this cannot be solved but it would be great.
We are seeking a longer term relationship for a gifted individual or company with deep Flex expertise as we have a number of additional tasks and challenges pending.
## Deliverables
We are available to assist using Skype. We can communicate in German and English.
The shapes have a lot of functionality to be fair:
- there is a fish-eye functionality
- there are used in a radar like view, in a family tree view and in a free arrange view
- shapes change colours depending on the status of the user
- shapes change their information when the backend updates data such as names
- cklicking on them opens a mini-view - a menu with all the actions you can perform with the person
- the shape objects are linked to node objects (relationships) and profile objects (details of people).
We are managing a local cache in Flex so that we do not need to re-pull data all the time.
The yardstick for performance measures should be the amount of seconds the CPU goes to 100% when drawing the shapes on a medium laptop - not a super duper machine - such as a PentiumIII, XP, 1Mb IBM laptop.
Memory should be calculated? based on the Flex internal memory counter.
Appsize is the size of the files downloaded - although we happily allow an improvement in subjective performance if objective improvements cannot be made.