Re: [flexcoders] Re: Application Idea

2009-05-15 Thread Jules Suggate
There's a strong geek smell in this room anyway, so it was about time we
opened the window for a bit :-)

On Fri, May 15, 2009 at 18:50, Gregor Kiddie  wrote:

>
>
>  So why not make “theWheel.com” a place celebrating the wheel in all its
> forms and shapes, to stop people from re-inventing it all over again!
>
>
>
> (I’d say these are threatening to descend into silliness, but I think we
> passed that point of no return with the second reply)
>
>
>
> Gk.
>
> *Gregor Kiddie*
> Senior Developer
> *INPS*
>
> Tel:   01382 564343
>
> Registered address: The Bread Factory, 1a Broughton Street, London SW8 3QJ
>
> Registered Number: 1788577
>
> Registered in the UK
>
> Visit our Internet Web site at www.inps.co.uk
>
> The information in this internet email is confidential and is intended
> solely for the addressee. Access, copying or re-use of information in it by
> anyone else is not authorised. Any views or opinions presented are solely
> those of the author and do not necessarily represent those of INPS or any of
> its affiliates. If you are not the intended recipient please contact
> is.helpd...@inps.co.uk
>   --
>
> *From:* flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] *On
> Behalf Of *Mike Britton
> *Sent:* 14 May 2009 20:11
> *To:* flexcoders@yahoogroups.com
> *Subject:* Re: [flexcoders] Re: Application Idea
>
>
>
>
>
>
>Personally, and as a matter of pride, I would avoid reinventing the
> wheel.
>
> Mike Britton
> --
> http://www.mikebritton.com
>
>   
>



-- 
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


Re: [flexcoders] Application Idea

2009-05-13 Thread Jules Suggate
Hahahaha :D

On Thu, May 14, 2009 at 00:14, ATIF  wrote:

>
>
>  Hi,
>Make an application in flex that helps you in generating new ideas from
> predefined sets of ideas.Which can also help you in comming up with totally
> new ideas on the base of those predefined ideas.
>
>
> - Original Message -
> *From:* kanu kukreja 
> *Sent:* Wednesday, May 13, 2009 4:00 PM
> *Subject:* [flexcoders] Application Idea
>
>  Hello,
>
> I'm looking for an idea, so that i can create a application on based
> on that idea in flash or flex.
>
> Thanks,
> kanu
>
>  
>



-- 
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


Re: [flexcoders] Application Idea

2009-05-13 Thread Jules Suggate
Why not write an application in Flex that other people can use for writing
Flex applications? Then your users will create the applications for you.

Crowd-sourcing!

On Wed, May 13, 2009 at 23:00, kanu kukreja  wrote:

>
>
> Hello,
>
> I'm looking for an idea, so that i can create a application on based
> on that idea in flash or flex.
>
> Thanks,
> kanu
>  
>



-- 
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


Re: [flexcoders] Re: Common base class for components

2009-01-29 Thread Jules Suggate
Now that's more like what i'm talking about! I've been coding for 12 hours
now, so the article looks like random tokens on a page to me right now...
but will take a look first thing in the morning!!

Thanks Amy :-)

On Fri, Jan 30, 2009 at 05:00, Amy  wrote:

>   --- In flexcoders@yahoogroups.com , Jules
> Suggate 
> wrote:
>
> >
> > Just to resume this thread, what I meant was to still use MXML and
> all the
> > Flex components, but to introduce common functionality to all our
> Views
> > (mxml files). Perhaps it's better to think of weaving this in than
> using
> > inheritance, since that would require multiple inheritance AFAICT.
>
> http://www.munkiihouse.com/?p=37
>
>  
>



-- 
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


Re: [flexcoders] Common base class for components

2009-01-29 Thread Jules Suggate
Is it possible for an MXML file to implement an interface? Sounds intriguing
... but won't resolve my issue unfortunately. It's the implementation code
that I want them to share.

I have developers on my team who are less than keen on having to duplicate
repetitive code around the place -- they want to focus on cool effects,
state transitions and backend integration :-)

And I don't want repeated code everywhere in the app since if we want to
change something, there'll eventullay be hundreds of places where we have to
do so if the code is copy+pasted around the place...

On Fri, Jan 30, 2009 at 05:25, Fotis Chatzinikos <
fotis.chatzini...@gmail.com> wrote:

>   why do not you make your components implement an interface with these
> methods you describe?
>
>
> On Thu, Jan 29, 2009 at 10:54 AM, Jules Suggate 
> wrote:
>
>>   Just to resume this thread, what I meant was to still use MXML and all
>> the Flex components, but to introduce common functionality to all our Views
>> (mxml files). Perhaps it's better to think of weaving this in than using
>> inheritance, since that would require multiple inheritance AFAICT.
>>
>> I don't want anything fancy -- just a getter/setter pair:
>>
>> public function get model():IViewModel
>> {
>>// some common code
>> }
>> private var _model:IViewModel;
>> public function set model(value:IViewModel):void
>> {
>>// more common code
>> }
>>
>> To save writing out this code again and again, would I have to put this
>> code in an include file, and include from each View?
>>
>>
>> On Thu, Dec 18, 2008 at 06:41, Alex Harui  wrote:
>>
>>>In theory, if your base class implements IUIComponent, then your
>>> visual components will work in Flex
>>>
>>>
>>>
>>> *From:* flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] *On
>>> Behalf Of *Jules Suggate
>>> *Sent:* Wednesday, December 17, 2008 8:56 AM
>>> *To:* flexcoders@yahoogroups.com
>>> *Subject:* [flexcoders] Common base class for components
>>>
>>>
>>>
>>> Hi list, anyone know if it's possible to have all our components inherit
>>> from a common base component of our own making?
>>>
>>> There are some things in our app that every View component will have to
>>> do at loadtime, and it'd be nice to just write that code once and have all
>>> the other components inherit it...
>>>
>>> Last time I checked in Flex 3 Beta 2 there was some vague suggestion of
>>> using "Template Components", but that seemed like an afterthought in the SDK
>>> at the time. Just thought I'd check to see if you knew of any tricks for
>>> doing it :)
>>>
>>> Perhaps even an include file would be the way to go...
>>>
>>>
>>
>>
>> --
>> --
>> Jules Suggate
>> Owner and Technical Lead
>> Uphill Sprint Limited
>>
>> +64-21-157-8562
>>
>
>
>
> --
> Fotis Chatzinikos, Ph.D.
> Founder,
> Phinnovation
> fotis.chatzini...@gmail.com,
>  
>



-- 
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


Re: [flexcoders] Common base class for components

2009-01-29 Thread Jules Suggate
Just to resume this thread, what I meant was to still use MXML and all the
Flex components, but to introduce common functionality to all our Views
(mxml files). Perhaps it's better to think of weaving this in than using
inheritance, since that would require multiple inheritance AFAICT.

I don't want anything fancy -- just a getter/setter pair:

public function get model():IViewModel
{
   // some common code
}
private var _model:IViewModel;
public function set model(value:IViewModel):void
{
   // more common code
}

To save writing out this code again and again, would I have to put this code
in an include file, and include from each View?

On Thu, Dec 18, 2008 at 06:41, Alex Harui  wrote:

>In theory, if your base class implements IUIComponent, then your visual
> components will work in Flex
>
>
>
> *From:* flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] *On
> Behalf Of *Jules Suggate
> *Sent:* Wednesday, December 17, 2008 8:56 AM
> *To:* flexcoders@yahoogroups.com
> *Subject:* [flexcoders] Common base class for components
>
>
>
> Hi list, anyone know if it's possible to have all our components inherit
> from a common base component of our own making?
>
> There are some things in our app that every View component will have to do
> at loadtime, and it'd be nice to just write that code once and have all the
> other components inherit it...
>
> Last time I checked in Flex 3 Beta 2 there was some vague suggestion of
> using "Template Components", but that seemed like an afterthought in the SDK
> at the time. Just thought I'd check to see if you knew of any tricks for
> doing it :)
>
> Perhaps even an include file would be the way to go...
>
>   
>



-- 
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


Re: [flexcoders] Rounding error

2008-12-17 Thread Jules Suggate
I may be missing something from your explanation. Are you seeing erroneous
calculations? Are there bugs? What exactly is the problem we are trying to
solve.

AFAIK, 2 digit accuracy is a given. In fact, it goes many digits higher than
that (I forgete exactly how many -- too long since my University days).

But that's what I meant by "Number has a very high precision". If you need
two-digit accuracy, just round all Number to two decimal places and it'll be
correct.

x = Math.round(x*100.0) / 100.0; //round x to 2 decimal places

More generally,

x = Math.round(x*10^n) / 10^n; //round to n decimal places

Or,

Math.floor(x*100.0) / 100.0; //ensures you never round up

http://www.google.co.nz/search?q=round+float+decimal+places has a whole
bunch of people wanting 2 digit accuracy.

If you're still concerned, someone else mentioned using integers to store
cents. That's usually my approach, but I've worked on codebases that do the
above and not had any problems.

Server and client-side implementations will be the same. AS3 floats are IEEE
compliant.

Datetimes between server and client however ... watch out :-)

On Thu, Dec 18, 2008 at 06:25, Paul Andrews  wrote:

>Jules,
>
> For financial applications, it's far more problematic than testing for
> equality.
>
> For example, if you are applying a discount to a price the resulting price
> must have exact two digit decimal accuracy, otherwise by the time you have
> discounted a few items you have an invoice whose total doesn't match the sum
> of the discounted items as shown on the invoice. That tends to upset
> customers.
>
> The other thing to consider is that such arithmetic must be consistent on
> server as well as client, otherwise you can end up with server-side reports
> that don't match client-side displays.
>
> Paul
>
> - Original Message -
> *From:* Jules Suggate 
> *To:* flexcoders@yahoogroups.com
> *Sent:* Wednesday, December 17, 2008 4:36 PM
> *Subject:* Re: [flexcoders] Rounding error
>
> Valdhor already gave you all the info you need, but I like the sound of my
> own fingers typing. I also like to procrastinate, so I'm in heaven right now
> :p
>
>- Some numbers that are easy to represent in decimal are hard to
>represent in binary, just as some numbers that are easy to represent in 
> base
>60 are hard to represent in decimal (such as 1/3).
>- Your calculations are safe enough: Number has a very high precision
>and calculations are carried out with full precision. It's just when 
> testing
>for equality that you can run into problems -- I'm guessing this is where
>you noticed the discrepancy?
>- When comparing for floating-point numbers for equality, you need to
>specify a tolerance too. Most unit-testing frameworks provide this for 
> their
>floating-point asserts. And when I was doing financial apps, we did the 
> same
>thing. If you *really* need higher precision, you'll need a BigNumber
>implementation for AS3, of which there are several. The AS3Crypto library
>has one I believe...
>
> Chyrs :)
> Jules
>
> On Thu, Dec 18, 2008 at 03:15, Ken Johnson wrote:
>
>>   Hi Everyone -
>>
>> Given the following code:
>> var num1:Number = 0.72;
>> var num2:Number = 0.198;
>> var num3:Number;
>>
>> num3 = num1;
>> num3 += num2;
>>
>> I would expect num3 to equal 0.918.
>>
>> Instead, it equals 0.9179.
>>
>> And when I apply a number formatter with a precision of 2, I get 0.91.
>>
>> I am performing financial calculations, and this is not acceptable.
>>
>> Am I doing something wrong here?
>>
>> Thanks for your help!
>> Ken
>>
>>
>
>
> --
> Cheers,
> Jules
> --
> Jules Suggate
> Owner and Technical Lead
> Uphill Sprint Limited
>
> +64-21-157-8562
>
>  
>



-- 
Cheers,
Jules
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


[flexcoders] Common base class for components

2008-12-17 Thread Jules Suggate
Hi list, anyone know if it's possible to have all our components inherit
from a common base component of our own making?

There are some things in our app that every View component will have to do
at loadtime, and it'd be nice to just write that code once and have all the
other components inherit it...

Last time I checked in Flex 3 Beta 2 there was some vague suggestion of
using "Template Components", but that seemed like an afterthought in the SDK
at the time. Just thought I'd check to see if you knew of any tricks for
doing it :)

Perhaps even an include file would be the way to go...


Re: [flexcoders] Rounding error

2008-12-17 Thread Jules Suggate
Valdhor already gave you all the info you need, but I like the sound of my
own fingers typing. I also like to procrastinate, so I'm in heaven right now
:p

   - Some numbers that are easy to represent in decimal are hard to
   represent in binary, just as some numbers that are easy to represent in base
   60 are hard to represent in decimal (such as 1/3).
   - Your calculations are safe enough: Number has a very high precision and
   calculations are carried out with full precision. It's just when testing for
   equality that you can run into problems -- I'm guessing this is where you
   noticed the discrepancy?
   - When comparing for floating-point numbers for equality, you need to
   specify a tolerance too. Most unit-testing frameworks provide this for their
   floating-point asserts. And when I was doing financial apps, we did the same
   thing. If you *really* need higher precision, you'll need a BigNumber
   implementation for AS3, of which there are several. The AS3Crypto library
   has one I believe...

Chyrs :)
Jules

On Thu, Dec 18, 2008 at 03:15, Ken Johnson  wrote:

>   Hi Everyone -
>
> Given the following code:
> var num1:Number = 0.72;
> var num2:Number = 0.198;
> var num3:Number;
>
> num3 = num1;
> num3 += num2;
>
> I would expect num3 to equal 0.918.
>
> Instead, it equals 0.9179.
>
> And when I apply a number formatter with a precision of 2, I get 0.91.
>
> I am performing financial calculations, and this is not acceptable.
>
> Am I doing something wrong here?
>
> Thanks for your help!
> Ken
>
>  
>



-- 
Cheers,
Jules
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


Re: [flexcoders] Test-driven development in Flex

2008-12-17 Thread Jules Suggate
Hey, a fellow Kiwi? Cool :) I am based out of Christchurch...

Having used Cairngorm plenty in the past, I always found it pretty
excellent, just a little out of date these days perhaps -- your changes
sound (IMHO) sane and reasonable, as does your decision to go with Cairngorm
if you are integrating with other Cairngorm apps. If you get the chance to
blog about it and/or contribute your changes, I'm sure you'd find some
appreciative folks out there.

You mentioned Supervising Controller by Martin Fowler; did you know he has
another variant of that same idea called Presentation Model?
http://martinfowler.com/eaaDev/PresentationModel.html

I can't remember the subtleties right now (and don't have time to refresh my
memory!) but you might want to check it out. I find Fowler's articles great
to clarify ones own thinking (and/or convince other devs to stop
/removing/good/code/?!?!)

Best of luck with that aye

Jules

On Wed, Dec 17, 2008 at 22:48, Errol Thompson  wrote:

>   Thanks for the helpful comments and suggestions. Here is what I have
> already
> looked at.
>
> We looked at PureMVC for the project that I am on but stayed with Cairngorm
> because of the applications already written in Cairngorm that are also part
> of the project. However, we have written a version of notifier and
> notification that are similar to PureMVC. After all that is simply an
> implementation of the observer pattern.
>
> The other programmer on the project doesn't believe that automated tests
> are
> worth having and doesn't understand how to write code that improves the
> ability to test so there is a bit of a challenge.
>
> We are also using Maven for the build. The build incorporates Java host
> modules as well as the Flex code. Our directory structure reflects the
> Maven
> naming conventions src/main/flex and src/test/flex. The Flex Mojo builds
> its
> own test runner for FlexUnit tests so I have created a test application in
> the src/flex/main directory alongside the actual application file. This
> allows me to run either the tests or the application from with in Flex
> Builder.
>
> My thoughts on getting around Cairngorm are to create an application
> controller which holds a reference to the model, services, and front
> controller. All other modules reference the application controller to
> obtain
> a reference to these. Cairngorm doesn't really care whether the model is a
> singleton but does require the front controller and may be services to be a
> singleton. However, using the application controller, I am able to mock out
> the front controller and services. This allows me to trap the command calls
> for events and the calls to get services.
>
> The other thing that I tried to put in place was what Martin Fowler calls a
> Supervising Controller for each view (this is similar to PureMVC's
> mediator). This has been removed for some views by the other programmer but
> for the view that I am currently working on, it appears to be working well,
> and the mxml view has no ActionScript in it. All events and status
> variables
> are in the supervising controller. The view binds to the model and status
> values. So far this seems to be working well and although I haven't written
> tests for it yet, I believe that it shouldn't be too difficult.
>
> Using the notifier and notifications, we are able to have the supervising
> controller receive notification of events that update the status variables
> thus eliminating the need for a view locator. These status variables could
> easily be considered part of the model except that we have multiple views
> within the application and that would mean creating special model elements
> for each view to help make it clear what each of the status variables are
> associated with. My thinking is that this makes the supervising controller
> even of more value since it is clear where status values for the view are
> held.
>
> I hope to blog on this later once I have conducted more experiments and
> also
> on comparisons between Cairngorm and PureMVC. I have already done some
> comparison of Flex based testing frameworks (http://kiwi-et.blogspot.com/
> ).
>
>
> -
> Errol Thompson
> Kiwi-ET Computing Education Research
> Wellington, New Zealand
> Phone: +64 21 210 1662
> E-Mail: kiwiet (at) acm.org
> kiwiet (at) computer.org
> Web: www.teach.thompsonz.net
> -
>
>Messages in this topic
> (
> 16)  Reply (via web post)
> |
>  Start
> a new topic
> 

Re: [flexcoders] Test-driven development in Flex

2008-12-16 Thread Jules Suggate
Oh sorry, to answer the original question, why should TDD in Flex be
impossible? There were some challenges in the past with getting
Continuous Integration happening (harvesting and reporting on test
results was the stumbling block) but that's long since solved... and
anyway, is not a precursor for TDD AFAIK.

Hope this helps :)

On Tue, Dec 16, 2008 at 21:23, Jules Suggate  wrote:
> Having good results with FlexUnit here, using Parsley IoC instead of
> Cairngorm or what-have-you because of the advantages to
> mocking/testing with IoC/Dependency Injection (when will the community
> settle on a name for that pattern so I can stop using both! :)
>
> We have a structure like:
>
> /trunk/common
> /trunk/web
> /trunk/test
>
> For shared, web-client and test code respectively. Web and test both
> pull in the common SWC. Still very skeletal at this point so there
> could be hurdles further down the road we're not aware of yet, but all
> going smoothly for now. I can even step through my unit tests in Flex
> Builder -- something I wasn't sure I'd be able to do as there's no
> FlexUnit plugin for Eclipse that I could find...
>
> Oh, last thing is we are using Antennae common tasks and targets for
> our Ant builds, just because it's the first thing we stumbled across
> and seems to have fairly good structure for multi-project solutions.
>
> On Tue, Dec 16, 2008 at 05:49, Errol Thompson  wrote:
>> I am fairly new to Flex but have a reasonable amount of experience with
>> test-driven development in Java and .NET.
>>
>> I have been told that test-driving Flex development is not possible. I am
>> not convinced as I have been told similar things on other projects in the
>> past and then proven that they are possible.
>>
>> I am wondering:
>>
>> 1) How many people actually use a testing framework (FlexUnit, Fluint,
>> FUnit, AsUnit) when doing Flex development?
>>
>> 2) Does using a testing framework change the way that you structure your
>> Flex applications?
>>
>> 3) How many use test-driven development with the Cairngorm framework?
>>
>> -
>> Errol Thompson
>> Kiwi-ET Computing Education Research
>> Wellington, New Zealand
>> Phone: +64 21 210 1662
>> E-Mail: kiwiet (at) acm.org
>> kiwiet (at) computer.org
>> Web: www.thompsonz.net
>> -
>>
>> 
>
>
>
> --
> Cheers,
> Jules
> --
> Jules Suggate
> Owner and Technical Lead
> Uphill Sprint Limited
>
> +64-21-157-8562
>



-- 
Cheers,
Jules
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


Re: [flexcoders] Test-driven development in Flex

2008-12-16 Thread Jules Suggate
Having good results with FlexUnit here, using Parsley IoC instead of
Cairngorm or what-have-you because of the advantages to
mocking/testing with IoC/Dependency Injection (when will the community
settle on a name for that pattern so I can stop using both! :)

We have a structure like:

/trunk/common
/trunk/web
/trunk/test

For shared, web-client and test code respectively. Web and test both
pull in the common SWC. Still very skeletal at this point so there
could be hurdles further down the road we're not aware of yet, but all
going smoothly for now. I can even step through my unit tests in Flex
Builder -- something I wasn't sure I'd be able to do as there's no
FlexUnit plugin for Eclipse that I could find...

Oh, last thing is we are using Antennae common tasks and targets for
our Ant builds, just because it's the first thing we stumbled across
and seems to have fairly good structure for multi-project solutions.

On Tue, Dec 16, 2008 at 05:49, Errol Thompson  wrote:
> I am fairly new to Flex but have a reasonable amount of experience with
> test-driven development in Java and .NET.
>
> I have been told that test-driving Flex development is not possible. I am
> not convinced as I have been told similar things on other projects in the
> past and then proven that they are possible.
>
> I am wondering:
>
> 1) How many people actually use a testing framework (FlexUnit, Fluint,
> FUnit, AsUnit) when doing Flex development?
>
> 2) Does using a testing framework change the way that you structure your
> Flex applications?
>
> 3) How many use test-driven development with the Cairngorm framework?
>
> -
> Errol Thompson
> Kiwi-ET Computing Education Research
> Wellington, New Zealand
> Phone: +64 21 210 1662
> E-Mail: kiwiet (at) acm.org
> kiwiet (at) computer.org
> Web: www.thompsonz.net
> -
>
> 



-- 
Cheers,
Jules
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


Re: [flexcoders] Screen Resolution

2008-12-12 Thread Jules Suggate
Yep, and don't forget constraint-based layouts

http://livedocs.adobe.com/flex/3/html/help.html?content=size_position_5.html

On Sat, Dec 13, 2008 at 03:37, narayana e  wrote:
>
> Hi
>
> i know your problem. u can use percentage values for flex compents
> width,height
>
> and one more option is  horizontalScrollPolicy="off" ,
> verticalScrollPolicy="off"
>
>
>
> example
>
>
>  verticalScrollPolicy="off">
>
>
> 
>
>
> u can get result
>
> --- On Fri, 12/12/08, kotha poornima  wrote:
>
> From: kotha poornima 
> Subject: [flexcoders] Screen Resolution
> To: "flexcoders" 
> Date: Friday, 12 December, 2008, 9:27 AM
>
> Hi all,
> I am developing a flex application in adobe flex2, my application get
> displayed on my monitor(17") correctly, however when I try running same
> application from different computer or a laptop of 14" wide screen display
> is different as monitor screen is short I need to scroll down to view
> complete page. how can I make sure that the application should look uniform
> across different platform/different browsers and different monitors with out
> changing any widths and heights manually.
>
> Thanks in Advance.
> Poornima
>
>
> 
> Add more friends to your messenger and enjoy! Invite them now.
> 



-- 
Cheers,
Jules
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562


Re: [flexcoders] Best language for remoting

2008-12-10 Thread Jules Suggate
Stay away from WCF and webservices unless you want the pain of arguing
with MS geeks about why they can't use SOAP 1.2..

On Tue, Dec 9, 2008 at 12:01, Sceneshift <[EMAIL PROTECTED]> wrote:
>
> Hey guys,
>
> When building larger applications with bigger database interactions, which
> is considered the best language to develop the back-end environment in? I
> have been using PHP in most of my projects, but using AMFPHP to pass objects
> just seems really clunky... It seems as though Adobe are pushing ColdFusion,
> but I was wondering what the general consensus is on which methods
> (webservices, remoting) and languages are considered to be the best for
> communicating with databases.
> --
> View this message in context:
> http://www.nabble.com/Best-language-for-remoting-tp20905438p20905438.html
> Sent from the FlexCoders mailing list archive at Nabble.com.
>
> 


Re: [flexcoders] speed of the "for each" looping

2008-12-10 Thread Jules Suggate
Sorry, couldn't resist commenting on the term cognitive cruft! I love it! :))

On Wed, Dec 10, 2008 at 12:37, Maciek Sakrejda <[EMAIL PROTECTED]> wrote:
> Interesting. I decided to actually try my test above, and on 100
> items, the for-each version takes ~50 milliseconds, versus ~25
> milliseconds for the explicitly indexed loop. When doing some actual
> work in the loop (a trace), the numbers are 41.9 seconds for the
> for-each and 41.1 seconds for the indexed for. On a loop with a trace
> with 100 items, both forms take ~5 milliseconds. This is rather
> unscientific, but I don't have the profiler available (will it ever make
> it to Linux, Adobe?).
>
> So yes, it looks like for-each is a lot slower in some cases, but I'll
> maintain it still probably won't make a difference unless you've got a
> massive loop that does very little, or a deeply nested set of loops.
>
> Consider also the readability and maintainability benefits of a
> for-each: unless you need the index, it's just one more place to
> introduce bugs when refactoring, and it's cognitive cruft when trying to
> follow what's going on.
>
> --
> Maciek Sakrejda
> Truviso, Inc.
> http://www.truviso.com
>


Re: [flexcoders] Re: Parsley MVC :: some thoughts

2008-12-10 Thread Jules Suggate
Sorry, I mean "With /synchronous event dispatch/, triggering an event
100 times will mean the listeners get invoked 100 times, even if the
last invokation completely overwrites the work of the previous 99."

On Wed, Dec 10, 2008 at 23:31, Jules Suggate <[EMAIL PROTECTED]> wrote:
>> For several years before using flash I used a proprietary GUI OO tool that
>> had a similar (though less sophisticated) event mechanism. In that system
>> event dispatch did not actually take place until the code block had
>> completed - only then would handlers be invoked. This was particularly
>> important since the system also supported database access and transaction
>> handling so it's particularly important to have discrete units of work that
>> form part of a transaction without interruption. So I don't think that the
>> synchronous event despatch mechanism is as obvious as it appears to some and
>> I think it should really be a delayed propogation.
>
> I agree. For me at least, this was completely non-obvious and now that
> I know, feels plain bizarre.
>
> If asked before this thread, I would have answered that
> dispatchEvent() returned instantly and event handlers were invoked
> "some other time" such as after the current code block, or during the
> Player render cycle (but that would mean event handlers always
> executed in the next frame, perhaps causing problems with animations).
> That would give an implicit atomicity around the currently executing
> code and allow the VM to do smart things like rolling up multiple
> events of the same type within a given code block (or frame) into a
> single invokation of each listening handler. This way, triggering an
> event 100 times will mean the listeners get invoked 100 times, even if
> the last invokation completely overwrites the work of the previous 99.
>
> Yeah, interesting thread.
>


Re: [flexcoders] Re: Parsley MVC :: some thoughts

2008-12-10 Thread Jules Suggate
> For several years before using flash I used a proprietary GUI OO tool that
> had a similar (though less sophisticated) event mechanism. In that system
> event dispatch did not actually take place until the code block had
> completed - only then would handlers be invoked. This was particularly
> important since the system also supported database access and transaction
> handling so it's particularly important to have discrete units of work that
> form part of a transaction without interruption. So I don't think that the
> synchronous event despatch mechanism is as obvious as it appears to some and
> I think it should really be a delayed propogation.

I agree. For me at least, this was completely non-obvious and now that
I know, feels plain bizarre.

If asked before this thread, I would have answered that
dispatchEvent() returned instantly and event handlers were invoked
"some other time" such as after the current code block, or during the
Player render cycle (but that would mean event handlers always
executed in the next frame, perhaps causing problems with animations).
That would give an implicit atomicity around the currently executing
code and allow the VM to do smart things like rolling up multiple
events of the same type within a given code block (or frame) into a
single invokation of each listening handler. This way, triggering an
event 100 times will mean the listeners get invoked 100 times, even if
the last invokation completely overwrites the work of the previous 99.

Yeah, interesting thread.


Re: [flexcoders] Re: Parsley MVC :: some thoughts

2008-12-10 Thread Jules Suggate
Funny, I have a very similar example at my end that I wrote just now
to prove to myself what was happening. I should have checked my email
first ;-)

On Wed, Dec 10, 2008 at 16:22, Paul Andrews <[EMAIL PROTECTED]> wrote:
> Here is a trivial example using dispatchEvent to show the synchronous
> invocation of listeners that could (if badly written) interfere with
> innocuous code.
>
> Normally when the "click to count" button is pressed, the count goes from 1
> to 10.
> If the button to enable despatching the event is pressed, when the counter
> reaches 5 an event is despatched. The event handler updates the counter,
> adding 10 to it's value.
> The output shows that despatched events do indeed invoke the listeners
> synchronously and as this example shows, the listeners can interfere with
> the smooth running of code if they are badly written.
>
> Trivial example, certainly, but it shows the principle.
>
> Paul
>
> 
> http://www.adobe.com/2006/mxml"; layout="vertical"
> applicationComplete="init()">
> 
> 
> 
> 
> 
> 
> 
>
> 


Re: [flexcoders] Parsley MVC :: some thoughts

2008-12-09 Thread Jules Suggate
Hi Ralf,

That's my understanding now too. What I'm slowly coming to terms with
are the facts you so lucidly summarise below :)

I (and I think Paul too) had always assumed that control returned from
the dispatchEvent function immediately. I'm still a little bit shocked
about it. In this light, dispatchEvent just routes function calls
through a common object.

It's too early to say whether it'll make much difference to how I code in Flex.

I hate stories that end with a deus ex machina :)

On Wed, Dec 10, 2008 at 02:47, Ralf Bokelberg <[EMAIL PROTECTED]> wrote:
> I'm confused. Let's clarify what we are talking about.
>
> The event dispatching is fully synchronous.
> If you call dispatchEvent, all event handlers are called, before the
> next statement is executed.
>
> Some processes (eg loading something from the backend or a timer)
> dispatch events in an asynchronous manner. So they call dispatchEvent
> at some unknown point in time
>
> I think, this is how it works.
>
> Cheers
> Ralf.
>
> On Tue, Dec 9, 2008 at 10:27 AM, Paul Andrews <[EMAIL PROTECTED]> wrote:
>> Jules, I confess I actually misread your original post - I had anticipated
>> that when an event is despatch it wouldn't be actioned until the current
>> code section had been completed then the player would act upon events
>> awaiting despatch.
>>
>> On the face of it, if events are despatched and all handlers invoked
>> synchronously before the next statement runs then there's an opportunity
>> for
>> an unexpected race condition if handlers are updating the same data
>> structures as the code that despatched the event. Like you I would be
>> surprised at this behaviour and I might try and check that out for myself
>> later today.
>>
>> So you are right my comments don't match your findings. I don't have a
>> problem with the event despatcher invoking all handlers for an event in
>> sequence - event handling has a predefined order through the display list,
>> but there's no guarantee that multiple handlers at the same place in the
>> hierarchy will be invoked in a set sequence.
>>
>> I'm somewhat surprised at your assertion that despatching an event will
>> invoke handlers for that event synchronously - it would be interesting to
>> get a better handle on this from someone who knows thelow-level mechanism
>> more intimately than I do. My event handling code doesn't anticipate that
>> despatched events are handled syncronously and as i've already said,
>> there's
>> always a danger of an unexpected race condition if that were true.
>>
>> In my previous life writing a lot of code running on multiprocessor
>> systems
>> we took great care to control asynchronous behaviour and to protect data
>> structures from multiple updates using semaphores. In a faux system like
>> the
>> flash player, there isn't true concurrency, but if what you say is true
>> there would be a real potential of getting an unwanted side-effect since
>> effectively shared data structures would be open to being updated
>> unexpectedly whenever an event is despatched.
>>
>> So, I'm kinda with you.
>>
>> Paul
>>
>> - Original Message -
>> From: "Jules Suggate" <[EMAIL PROTECTED]>
>> To: 
>> Sent: Tuesday, December 09, 2008 8:55 AM
>> Subject: Re: [flexcoders] Parsley MVC :: some thoughts
>>
>>> How can something be asynchronous but not concurrent? Asynchronous
>>> means that control returns from the function call immediately although
>>> the transaction triggered by the call may still be ongoing. To me,
>>> that absolutely *requires* concurrency, even if it's simulated through
>>> a timeslicing scheduler or some such.
>>>
>>> I'm pretty sure for something to be asynchronous there has to be some
>>> sort of interleaving.
>>>
>>> That's the whole point of what I just realised: there is no such
>>> interleaving within the Flex framework. Event dispatch in Flex/Flash
>>> is a *blocking* operation. There's no scheduler or anything within the
>>> event bus. Maybe your handlers will make calls to a truly asynchronous
>>> API like network calls or something, but until they make that call and
>>> return control to the code that dispatched the event, the next line of
>>> code in your event producer object will *not* execute.
>>>
>>> I'm just freaked out that I never realised this. How have my
>>> applications even been *usable* until now?!?!? Pur

Re: [flexcoders] Parsley MVC :: some thoughts

2008-12-09 Thread Jules Suggate
How can something be asynchronous but not concurrent? Asynchronous
means that control returns from the function call immediately although
the transaction triggered by the call may still be ongoing. To me,
that absolutely *requires* concurrency, even if it's simulated through
a timeslicing scheduler or some such.

I'm pretty sure for something to be asynchronous there has to be some
sort of interleaving.

That's the whole point of what I just realised: there is no such
interleaving within the Flex framework. Event dispatch in Flex/Flash
is a *blocking* operation. There's no scheduler or anything within the
event bus. Maybe your handlers will make calls to a truly asynchronous
API like network calls or something, but until they make that call and
return control to the code that dispatched the event, the next line of
code in your event producer object will *not* execute.

I'm just freaked out that I never realised this. How have my
applications even been *usable* until now?!?!? Pure luck and good
API design from Adobe/Macromedia.

Cheers to the Player team!

On Tue, Dec 9, 2008 at 03:02, Paul Andrews <[EMAIL PROTECTED]> wrote:
> They are asynchronous but they aren't concurrent.
>
> Paul
>
> - Original Message -
> From: "Jules Suggate" <[EMAIL PROTECTED]>
> To: 
> Sent: Monday, December 08, 2008 1:59 PM
> Subject: Re: [flexcoders] Parsley MVC :: some thoughts
>
>>  head explodes heh!
>>
>> I have been happily thinking the whole time that events really *are*
>> asynchronous, but that's obviously not true. Reality check...
>>
>> Thanks guys. I think I might have run out of reasons *not* to use Parsley
>> :)
>>
>> On Tue, Dec 9, 2008 at 01:06, Paul Andrews <[EMAIL PROTECTED]> wrote:
>>> - Original Message -
>>> From: "Jules Suggate" <[EMAIL PROTECTED]>
>>> To: 
>>> Sent: Monday, December 08, 2008 6:49 AM
>>> Subject: [flexcoders] Parsley MVC :: some thoughts
>>>
>>>> Anyone used Parsley MVC? I'm a bit confused by it.
>>>>
>>>> There's the standard MVC FrontController class, which exposes a method
>>>> dispatchEvent() for app-wide notifications. It also has a concept of
>>>> interceptors which is nice... so far so good.
>>>>
>>>> BUT... that dispatchEvent() call executes *synchronously*. Control
>>>> won't return to your code until *every single listener* to that event
>>>> finishes executing!! In a single-threaded environment like Flash
>>>> Player, I would have thought this to be a disastrous design
>>>> decision... can anyone shed any light on this, as I'm sure there's
>>>> something I'm missing here!
>>>
>>> Why is it disastrous? The flash player is single threaded so it's not
>>> possible have concurrently running code (something I think that Adobe
>>> should
>>> address in the future) so why shouldn't all the waiting listeners be
>>> called?
>>>
>>> It's not possible to resume execution elsewhere while a listener is still
>>> active because that would require semaphores to handle pseudo concurrency
>>> and I'm sure that holds true not just for the listeners themselves but
>>> also
>>> for the mechanism that calls the waiting listeners.
>>>
>>> Paul
>>>
>>>>
>>>> TIA,
>>>> +J
>>>>
>>>> PS another thing I haven't figured out yet is how to inject
>>>> dependencies into a View component... it seems Parsley can only inject
>>>> into objects that have been created in the Parsley config file ... and
>>>> because View components are instantiated by the Flex framework, from
>>>> what I can tell Parsley has no way to reference them... this has the
>>>> unpleasant side-effect of requiring all my View code to access the
>>>> FrontController directly through the FrontController.root static
>>>> property.
>>>>
>>>> In fact, the FrontController class is bugging me -- it is a concrete
>>>> class with no abstract interface I can code to. It's making me nervous
>>>> about lock-in to the Parsley framework.
>>>>
>>>> Kinda goes against the whole IoC thing, no?
>>>>
>>>> PPS And yeah, I will post this to the Parsley forums, but I want the
>>>> esteemed opinion of those on this list too!
>>>>
>>>> 
>>>>
>>>> --
>>>> Flexcoders Mailing List
>>>> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
>>>> Alternative FAQ location:
>>>>
>>>>
>>>> https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
>>>> Search Archives:
>>>> http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups
>>>> Links
>>>>
>>>>
>>>>
>>>
>>>
>>
>> 
>>
>> --
>> Flexcoders Mailing List
>> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
>> Alternative FAQ location:
>>
>> https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
>> Search Archives:
>> http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups
>> Links
>>
>>
>>
>
> 


Re: [flexcoders] Parsley MVC :: some thoughts

2008-12-08 Thread Jules Suggate
 head explodes heh!

I have been happily thinking the whole time that events really *are*
asynchronous, but that's obviously not true. Reality check...

Thanks guys. I think I might have run out of reasons *not* to use Parsley :)

On Tue, Dec 9, 2008 at 01:06, Paul Andrews <[EMAIL PROTECTED]> wrote:
> - Original Message -
> From: "Jules Suggate" <[EMAIL PROTECTED]>
> To: 
> Sent: Monday, December 08, 2008 6:49 AM
> Subject: [flexcoders] Parsley MVC :: some thoughts
>
>> Anyone used Parsley MVC? I'm a bit confused by it.
>>
>> There's the standard MVC FrontController class, which exposes a method
>> dispatchEvent() for app-wide notifications. It also has a concept of
>> interceptors which is nice... so far so good.
>>
>> BUT... that dispatchEvent() call executes *synchronously*. Control
>> won't return to your code until *every single listener* to that event
>> finishes executing!! In a single-threaded environment like Flash
>> Player, I would have thought this to be a disastrous design
>> decision... can anyone shed any light on this, as I'm sure there's
>> something I'm missing here!
>
> Why is it disastrous? The flash player is single threaded so it's not
> possible have concurrently running code (something I think that Adobe should
> address in the future) so why shouldn't all the waiting listeners be called?
>
> It's not possible to resume execution elsewhere while a listener is still
> active because that would require semaphores to handle pseudo concurrency
> and I'm sure that holds true not just for the listeners themselves but also
> for the mechanism that calls the waiting listeners.
>
> Paul
>
>>
>> TIA,
>> +J
>>
>> PS another thing I haven't figured out yet is how to inject
>> dependencies into a View component... it seems Parsley can only inject
>> into objects that have been created in the Parsley config file ... and
>> because View components are instantiated by the Flex framework, from
>> what I can tell Parsley has no way to reference them... this has the
>> unpleasant side-effect of requiring all my View code to access the
>> FrontController directly through the FrontController.root static
>> property.
>>
>> In fact, the FrontController class is bugging me -- it is a concrete
>> class with no abstract interface I can code to. It's making me nervous
>> about lock-in to the Parsley framework.
>>
>> Kinda goes against the whole IoC thing, no?
>>
>> PPS And yeah, I will post this to the Parsley forums, but I want the
>> esteemed opinion of those on this list too!
>>
>> 
>>
>> --
>> Flexcoders Mailing List
>> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
>> Alternative FAQ location:
>>
>> https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
>> Search Archives:
>> http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups
>> Links
>>
>>
>>
>
> 


[flexcoders] Parsley MVC :: some thoughts

2008-12-07 Thread Jules Suggate
Anyone used Parsley MVC? I'm a bit confused by it.

There's the standard MVC FrontController class, which exposes a method
dispatchEvent() for app-wide notifications. It also has a concept of
interceptors which is nice... so far so good.

BUT... that dispatchEvent() call executes *synchronously*. Control
won't return to your code until *every single listener* to that event
finishes executing!! In a single-threaded environment like Flash
Player, I would have thought this to be a disastrous design
decision... can anyone shed any light on this, as I'm sure there's
something I'm missing here!

TIA,
+J

PS another thing I haven't figured out yet is how to inject
dependencies into a View component... it seems Parsley can only inject
into objects that have been created in the Parsley config file ... and
because View components are instantiated by the Flex framework, from
what I can tell Parsley has no way to reference them... this has the
unpleasant side-effect of requiring all my View code to access the
FrontController directly through the FrontController.root static
property.

In fact, the FrontController class is bugging me -- it is a concrete
class with no abstract interface I can code to. It's making me nervous
about lock-in to the Parsley framework.

Kinda goes against the whole IoC thing, no?

PPS And yeah, I will post this to the Parsley forums, but I want the
esteemed opinion of those on this list too!


Re: [flexcoders] Flex and iTunes Cover Flow

2008-12-04 Thread Jules Suggate
Hi Ravichandran,

Yep, check out http://dougmccune.com/blog/2007/11/03/coverflow-flex-component/

:)

J


On Fri, Dec 5, 2008 at 01:40, Ravichandran J <[EMAIL PROTECTED]> wrote:
> Dear Friends,
>
> Do any articles, books or video tutorials are there to leanr about coverflow
> in flex.
>
> Thanking you,
>
> Ravichandran J
> Bangalore
> 


Re: [flexcoders] Detect a databinding

2008-12-03 Thread Jules Suggate
Hey Marco,

Could you use a separate IList for each view? I don't know how your
implementation works -- but if it's using IViewCursor internally onto
an ArrayCollection or some such, you shouldn't have much performance
hit as they would all be pointing at the same underlying data...

Jules

On Wed, Dec 3, 2008 at 10:13, Marco Catunda <[EMAIL PROTECTED]> wrote:
> Hi Jules,
>
> Let me say about my problem. I've developed a class that implements
> IList interface for implicit pageable
> approach. This class works fine for one data provider of component. If
> I use it in two or more components
> the list become flicker.
>
> The problem of this flicker is when one component needs to get itens
> which is different for other component.
> The limit page in memory fill itens for one component, all components
> will receive events collection
> change, all components will refresh itens so the other component will
> get other itens and this loop will work
> forever.
>
> My solution was implement 'n' pages for 'n' components, but why could
> I detect how many components is
> using this object, the first idea was inspect a bindings?
>
> I saw a generated action script for binding, but I couldn't find out
> any solution. I didn't figure out how it
> works. There is some undocument API that I didn't understand.
>
> The idea of overrinding addEventListener don't work because the system
> never calls removeEventListener,
> so the pages which was created will never remove from memory. It is a
> memory leak problem.
>
> I don't have any idea how Flex remove theses listeners. Maybe it is a
> voodoo approach. :)
>
> Regards,
>
> On Tue, Dec 2, 2008 at 11:00 AM, Jules Suggate <[EMAIL PROTECTED]>
> wrote:
>> Hi Marco, first up you have to ask yourself why you want this feature?
>> There may be another way to solve the problem. However, here's what I
>> know of your specific question...
>>
>> Last time I checked (Flex 3 beta 2) there was no *official* way to
>> inspect the bindings on a component at runtime. However, if you create
>> a component with bindings and load it up at runtime, you will find
>> there are undocumented properties that enable you to do this. Look for
>> a "_watchers" array -- you will also find it helpful to keep the
>> generated actionscript that the Flex compiler normally throws away so
>> you can read how databinding is implemented.
>>
>> The properties above are not part of the public API, so could change
>> at any time. In fact, IIRC some of the very binding properties I just
>> mentioned may even have been deprecated in the final Flex 3 release...
>> proceed with caution.
>>
>> Which is why I ask what the actual problem is you are trying to solve
>> -- perhaps the list can help you come up with other ideas :-)
>>
>> For example, your idea of overriding addEventListener is cunning --
>> perhaps that solution can be explored further.
>>
>> Cheers,
>> Jules
>>
>> On Tue, Dec 2, 2008 at 23:05, Marco Catunda <[EMAIL PROTECTED]>
>> wrote:
>>> Hi,
>>>
>>> I have a singleton class with model data provider (like cairngorm model).
>>>
>>> Some user interface components binding this model in data provider
>>> property.
>>>
>>> I didn't find out any way to detect if there is binding in this model
>>> or not, and
>>> how many bindings.
>>>
>>> The binding model works with events, so my idea was override
>>> addEventListener
>>> in singleton model to detect binding. But it don't work because the
>>> removeEventListener
>>> isn't call when component go away.
>>>
>>> Does anyone has any tips?
>>>
>>> Regards
>>> --
>>> Marco Catunda
>>>
>>>
>>
>>
>
> --
> Marco Catunda
>
> 


Re: [flexcoders] Detect a databinding

2008-12-02 Thread Jules Suggate
Hi Marco, first up you have to ask yourself why you want this feature?
There may be another way to solve the problem. However, here's what I
know of your specific question...

Last time I checked (Flex 3 beta 2) there was no *official* way to
inspect the bindings on a component at runtime. However, if you create
a component with bindings and load it up at runtime, you will find
there are undocumented properties that enable you to do this. Look for
a "_watchers" array -- you will also find it helpful to keep the
generated actionscript that the Flex compiler normally throws away so
you can read how databinding is implemented.

The properties above are not part of the public API, so could change
at any time. In fact, IIRC some of the very binding properties I just
mentioned may even have been deprecated in the final Flex 3 release...
proceed with caution.

Which is why I ask what the actual problem is you are trying to solve
-- perhaps the list can help you come up with other ideas :-)

For example, your idea of overriding addEventListener is cunning --
perhaps that solution can be explored further.

Cheers,
Jules

On Tue, Dec 2, 2008 at 23:05, Marco Catunda <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I have a singleton class with model data provider (like cairngorm model).
>
> Some user interface components binding this model in data provider property.
>
> I didn't find out any way to detect if there is binding in this model
> or not, and
> how many bindings.
>
> The binding model works with events, so my idea was override
> addEventListener
> in singleton model to detect binding. But it don't work because the
> removeEventListener
> isn't call when component go away.
>
> Does anyone has any tips?
>
> Regards
> --
> Marco Catunda
>
> 


Re: [flexcoders] application structure

2008-12-02 Thread Jules Suggate
Hi Tom,

You've hit on one of the classic "anti-patterns" of Flex programming:
Application.application.blah type stuff.

While this is regrettably somewhat 'normal', that doesn't mean it's ok
:) As you probably have guessed, it leads to code that is really hard
to change later on as it is all tangled up with itself.

The solution is to use one of the application patterns that have been
studied by the GUI programming community in general (not just Flex
programmers) ... such as MVC (Model-View-Controller).

Martin Fowler is one of the canonical sources on this stuff:
http://martinfowler.com/eaaDev/uiArchs.html

Mate, Parsley or Cairngorm are open-source Flex frameworks that
implement the shell of one or more GUI patterns to save us all
re-inventing the wheel. Realistically, most people learn the patterns
by using one of these frameworks or their cousins (there are more, I'm
just giving a few that are currently flavour of the month).

Cairngorm has been getting a bad rap lately due to testability of the
resulting application (or lack thereof), but it's deeply embedded in
the Flash community (for better or worse).

Martin Fowler et al will give you an academic understanding, introduce
you to some code (Martin Fowler uses C# WinForms), explain the finer
points and describe several variations that you may or may not find
interesting.

You've bitten off quite a large topic with that innocuous question ;-)

Jules

On Tue, Dec 2, 2008 at 23:56, tom s <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I'm writing my first flex app.
> So far it all works, but I'm getting to the point where I need to start
> structuring it, for ease of further development.
> Right now I simply have many functions defined within the 

[flexcoders] Flex and SOAP 1.2

2008-12-01 Thread Jules Suggate
Hi, looking for *any* way to consume SOAP 1.2 webservices (esp. WCF
ones with binding type wsdlHttpBinding) without requiring us to
handcode any of the interfaces on the client side

That means: we want to give some tool a WSDL URL, and then can code
against the webservice with no further work required. Whether the WSDL
is parsed at compile-time or run-time is of lesser importance.

Code we can freely use and distribute is ideal, but we would consider
anything right now, such as WebORB or even an enterprise license to
LCDS. Anyone had any experience with WebORB/LCDS who can inform me
without doubt that one or other of them implements the whole SOAP 1.2
specification?

Thanks,
Jules


Re: [flexcoders] Re: Architecture question using Move Effect and Events

2008-11-25 Thread Jules Suggate
This is a good solution -- I was going to suggest that in the
handleMouseRollOver function you can check currentTarget to see if
it's an instance of UITextField, Label or whatever, thus waiting until
the event has bubbled to the grandparent. But that requires hardcoding
the types into an if(..) statement, not ideal. In fact, hardly
different from the event.target.parent.parent code you had originally.

Yours sounds like the way to go.

On Wed, Nov 26, 2008 at 14:37, devenhariyani <[EMAIL PROTECTED]> wrote:
> Wow..you all have been very helpful! Thank you so much for your
> support. In the end I did not use the mouseChildren property, because
> I needed the child components to receive mouseover and mouseOut events.
>
> But, I did create a framework that fixed all of my event troubles, and
> below are some of the things I did. I hope it helps someone in the future:
>
> 1. I created a new custom Event class called MyCustomEvent. I then
> have the base compoenent listen specifically for this custom event,
> and whenever any of the children components receive a mouseover or
> mouseout event they dispatch a new MyCustomEvent which the parent
> class receives and is able to perform special effects such as stopping
> the move effect, zooming, etc. When creating the MyCustomEvent, the
> key was that I needed bubble set to "true" so that the event bubbles.
> The code is:
>
> public class MyEvent extends Event
> {
> public static const FREEZE:String = "matrixFreeze";
> public static const RESUME:String = "matrixResume";
>
> public function MyEvent(type:String, bubbles:Boolean=true,
> cancelable:Boolean=false)
> {
> super(type, bubbles, cancelable);
> }
>
> }
>
> 2. Whenever I am listening for events, I make sure that I am using
> currentTarget as opposed to target. before I was using target
> property to access activeEffects on the parent object, and this was
> giving me exceptions. That is because in my situation, target was the
> UITextField and the currentTarget was in fact the MyCustomMXML obj I
> was trying to access.
>
> HTH someone out,
> Deven
>
> --- In flexcoders@yahoogroups.com, "devenhariyani" <[EMAIL PROTECTED]>
> wrote:
>>
>> I apologize if the context of my question is not fully clear, and I
>> greatly appreciate you taking the time to respond. However, your
>> assumption is not correct.
>>
>> The way the applciation is working so that there is actually 30, 40 or
>> even more instances of the custom MXML components rendered on the
>> canvas at any given point. this is all determined at runtime, and
>> each instance of MyCustomMXMLComponent is moving across the canvas
>> with its very own instance of a Move Effect.
>>
>> To clarify the question:
>> My custom mxml component is called: MyCustomMXMLComponent.mxml it has
>> a Label and a Text Area inside of it. When a user does a mouse
>> rollover on the Label I want the MyCustomMXMLComponent to stop moving
>> and other actions to happen.
>>
>> I am unable to catch events inside of the MyCustomMXMLComponent.mxml
>> object, the code i use is:
>>
>> var instance:MyCustomMXMLComponent = new MyCustomMXMLComponent();
>> instance.addEventListner(MouseEvent.ROLL_OVER, handleMouseRollOver);
>>
>>
>> The problem is that when a user moves a mouse over the
>> MyCustomMXMLComponent a UITextField catches the event so when i have
>> the below code in the event handler it fails:
>>
>> //find the MoveInstance and pause
>> for(var i:int = 0; i < event.target.activeEffects.length; i++) {
>> if(event.target.activeEffects[i].className == 'MoveInstance')
>> event.target.activeEffects[i].pause();
>> }
>>
>> Why is the UITextField which is inside of the Label catchign the event
>> when I did not register an eventhandler for it to do anything??
>>
>> Is there a better way to catch the event so that the
>> MyCustomMXMLComponent can handle the event to stop the Move Effect???
>>
>> Thank you.
>>
>>
>>
>> --- In flexcoders@yahoogroups.com, Chet Haase  wrote:
>> >
>> >
>> > I'm not sure I understand the whole context, but if I'm right that
>> there's just one of these custom components per app, and therefore one
>> Move effect running on it at any given time, isn't it easier to just
>> cache an instance to the effect itself and pause() it directly when
>> you get the rollover event?
>> >
>> > Chet.
>> >
>> >
>> >
>> > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED]
>> On Behalf Of devenhariyani
>> > Sent: Friday, November 21, 2008 1:01 PM
>> > To: flexcoders@yahoogroups.com
>> > Subject: [flexcoders] Re: Architecture question using Move Effect
>> and Events
>> >
>> >
>> > below is the code that i am using. maybe this will help you see
>> what i'm trying to do, and help how i should be properly stopping the
>> Move Effect for UI components which are dynamically created at
>> runtime. Thanks!
>> >
>> > public function initApp:void() {
>> >
>> > //for each element in an ArrayCollection which was retrieved from a
>> HTTPService
>> >
>> > //get the element, create a new custom M

Re: [flexcoders] Re: Newbie binding question

2008-11-25 Thread Jules Suggate
Have you tried just doing [Bindable("dataChanged")] instead of
[Bindable(name="dataChanged")]?

On Tue, Nov 25, 2008 at 17:32, Michael Prescott
<[EMAIL PROTECTED]> wrote:
> Oh sorry, I omitted the the getter from my example - but yes, I have
> getters.  (The IDE warns you that [Bindable] doesn't do anything when you
> omit the getter.)
>
> I'm wondering if data binding requires the event to be a PropertyChangeEvent
> for data binding to work?
>
> Michael
>
> On Mon, Nov 24, 2008 at 11:12 PM, Amy <[EMAIL PROTECTED]> wrote:
>>
>> --- In flexcoders@yahoogroups.com, "Michael Prescott"
>>
>> <[EMAIL PROTECTED]> wrote:
>> >
>> > I'm having some troubles with data binding and a named event
>> generated
>> > by a custom non-visual component. What I'm trying to do is have a
>> > property (say, 'data') which, when it changes, triggers the usual
>> > data-binding updates, but also fires an event that can be listened
>> to
>> > in the MXML. For example:
>> >
>> > 
>> > 
>> >
>> > I can't seem to meet both of these requirements without throwing two
>> > separate events. Is this what I should expect?
>> >
>> > When I do this:
>> >
>> > [Event(name="dataChanged")]
>> > public class MyClass {
>> >
>> > [Bindable(name="dataChanged")]
>> > public function set data(data:Object):void {
>> > this._data = data;
>> > dispatchEvent( new Event("dataChanged") );
>> >
>> > ..then the data binding doesn't work. (The label text doesn't get
>> > updated.) It seems I have to resort to vanilla data binding (with
>> no
>> > event name), and in addition throw a 'dataChanged' event of my own.
>> >
>> > [Event(name="dataChanged")]
>> > public class MyClass {
>> >
>> > [Bindable]
>> > public function set data(data:Object):void {
>> > this._data = data;
>> > dispatchEvent( new Event("dataChanged") );
>> >
>> > Am I missing something?
>>
>> When Flex comes back to look at your data because you fired the
>> event, it can't get it because you made it write only by only
>> providing a setter and not a getter.
>>
>> HTH;
>>
>> Amy
>>
>
> 


Re: [flexcoders] Removing an item from a sorted ArrayCollection?

2008-11-25 Thread Jules Suggate
Bjorn, are you certified? Perhaps that's your problem ;^)

On Tue, Nov 25, 2008 at 21:57, Ashish Verma <[EMAIL PROTECTED]> wrote:
> Hello All,
>
> I want to be Flex Certified. from where i can get the Demo Test Papers.
>
> Thanks
> Ashish
>
> On Fri, Nov 21, 2008 at 10:51 PM, bjorn <[EMAIL PROTECTED]> wrote:
>>
>> I experienced some problems with ArrayCollection's removeItemAt(). It
>> seemed to work... randomly.
>>
>> Tucked away in the documentation i found this little gem:
>> "Note: If you use the ICollectionView interface to sort or filter a
>> collection, do not use the IList interface to manipulate the data, because
>> the results are indeterminate."
>>
>> My problem, of course, was that I had a sort on the ac, and that I used
>> IList's removeItemAt().
>>
>> I don't understand the rationale behind this, maybe someone can explain to
>> me why it's difficult to implement removeItemAt() on a
>> sorted ArrayCollection ... I mean, I _am_ working with sorted data here, so
>> when I say index 11 I mean index 11 on the sorted data. That's the data I
>> see, that's the data I'm using, I don't need to know anything about the
>> underlying Array and the element's _real index_ the  ArrayCollection
>> knows which element this refers to in the underlying Array, so there
>> shouldn't be a problem ...?
>>
>> Anyway, given the restraints we're working with here - what is the best
>> way to approach this? I need to be able to remove items from a sorted
>> ArrayCollection - any best practices?
>>
>> Bjørn
>> --
>> ==
>> http://www.juicability.com - flex blog
>> http://www.expressionengine.no - ExpressionEngine; the world's most
>> flexible cms
>
> 


[flexcoders] Memory leaks in Flex SDK

2008-11-25 Thread Jules Suggate
Hi all,

I know this is a "multennial" subject, but I just checked Adobe's JIRA
and found three confirmed memory leaks in the Flex SDK :(

They are:
 + Memory leak in SWFLoader: https://bugs.adobe.com/jira/browse/SDK-18076
 + BindingUtils don't use weak event listeners, creating potential
memory leaks: https://bugs.adobe.com/jira/browse/SDK-14891
 + Flash Components break GC in FLex (while loaded at runtime):
https://bugs.adobe.com/jira/browse/SDK-13612

AFAIK, a well modularised application has to make use of SWFLoader for
dynamic linking, so that's a big worry as my app is designed to run
continuously in the background.

The second two are slated to be fixed in Flex Gumbo (not really
imminent but somewhat reassuring), however Adobe are particularly
quiet about the SWFLoader problem.

Anyone know of any workaround for these issues (esp. SWFLoader)?

Cheers,
Jules


Re: [flexcoders] Re: Removing an item from a sorted ArrayCollection?

2008-11-25 Thread Jules Suggate
Yeah, I second this suggestion. IViewCursor is your friend :)

And I know I haven't added much to the discussion -- but I want to
contribute, not just leech off everyone!

You guys are too quick to reply!

:)

On Tue, Nov 25, 2008 at 16:15, gabriel montagné
<[EMAIL PROTECTED]>wrote:

>   On Mon, Nov 24, 2008 at 3:45 AM, bjorn <[EMAIL 
> PROTECTED]>
> wrote:
> > No one knows the answer to my initial question about why there is a
> problem
> > implementing removeItemAt()/addItemAt() on a sorted AC?
>
> Well, the cool thing about using those mx.collections.* classes, as opposed
> to, for example, just using Arrays (besides binding, that is) is using a
> cursor view of them so you don't really have to go counting with your
> fingers
> where a particular item is.
>
> If you have a sorted collection (of Point objects, lets say), you can
> create a
> cursor and use that to find, remove, etc. whatever it is that you're
> looking
> for.
>
> You can quickly do stuff like:
>
> // sort the items first by x, in descending order, then by y ascending
> // (without cumbersome Array sort functions).
>
> var customSort:Sort = new Sort();
> customSort.fields = [
> new SortField("x", false, true),
> new SortField("y")
> ];
> collection.sort = customSort;
> collection.refresh();
>
> // later on, you need to find the first point, according to this order,
> which
> // has and x of 160 and and y of 130. Instead of looping through the set,
> // you can use a cursor like this:
>
> var cursor:IViewCursor = collection.createCursor();
> var itemFound:Boolean = cursor.findFirst({x:160, y:130})
>
> // now your cursor is pointing to the item you're looking for (you can
> check
> // on it by looking at the 'current' property), if it has found it. Without
> // having to worry on which index it was, you can just then say:
>
> if (itemFound)
> cursor.remove();
>
> This is just a simple example of the sort of things that you should be
> using
> collections for. I'd suggest a quick glance over the IViewCursor docs to
> see
> how cool that approach is. Remember that collections (like ArrayCollection,
> for example) are just particular views of rawer data sets; Their aim is
> just
> to make your life simpler in the end.
>
> HTH,
>
> --
> gabriel montagné láscaris comneno
> http://rojored.com
> t/506.8367.6794
>  
>


Re: [flexcoders] Embedding Flash Player

2008-11-24 Thread Jules Suggate
Yeah, we've accepted that already :) But perhaps I shouldn't throw
"cross-platform" around so loosely -- our initial Beta is Mac/Win only...

On Tue, Nov 25, 2008 at 04:24, Tom Chiverton
<[EMAIL PROTECTED]>wrote:

> On Friday 21 Nov 2008, Jules Suggate wrote:
> > client. Unfortunately AIR's APIs are not low-level enough (e.g. you can't
> > burn a CD with AIR). We've looked at Zinc, Shu Player, Janus and the rest
>
> I'm not aware of any desktop cross-platform (i.e. Linux, Mac, Windows) run
> time that has a burnCD() function...
> You'll have to ship (3 ?) native binaries at least, I imagine...
>
> --
> Tom Chiverton
> Helping to appropriately morph synergies
>
>
>
> 
>
> This email is sent for and on behalf of Halliwells LLP.
>
> Halliwells LLP is a limited liability partnership registered in England and
> Wales under registered number OC307980 whose registered office address is at
> Halliwells LLP, 3 Hardman Square, Spinningfields, Manchester, M3 3EB.  A
> list of members is available for inspection at the registered office. Any
> reference to a partner in relation to Halliwells LLP means a member of
> Halliwells LLP.  Regulated by The Solicitors Regulation Authority.
>
> CONFIDENTIALITY
>
> This email is intended only for the use of the addressee named above and
> may be confidential or legally privileged.  If you are not the addressee you
> must not read it and must not use any information contained in nor copy it
> nor inform any person other than Halliwells LLP or the addressee of its
> existence or contents.  If you have received this email in error please
> delete it and notify Halliwells LLP IT Department on 0870 365 2500.
>
> For more information about Halliwells LLP visit www.halliwells.com.
>
> 
>
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Alternative FAQ location:
> https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups
> Links
>
>
>
>


Re: [flexcoders] Re: Embedding Flash Player

2008-11-24 Thread Jules Suggate
Heh -- don't tempt me -- I'm just about at that point to be honest.

On Tue, Nov 25, 2008 at 01:45, Josh McDonald <[EMAIL PROTECTED]> wrote:

>   I say build a bunch of custom Swing components and build the whole thing
> in Java FX, it goes live in a week.
>
> On Mon, Nov 24, 2008 at 9:38 PM, Jules Suggate <[EMAIL PROTECTED]>wrote:
>
>>  Grr, ok the plot sickens :)
>>
>> Have just spoken with the guys and someone pointed out that native
>> drag-and-drop, custom context menus and similar OS-level integrations are
>> never going to be added to the Flash Player now that Adobe have AIR to put
>> those features into. I'm inclined to see their point, but I need to think up
>> a way around the one-click install showstopper.
>>
>> Naive approach would be: use a native installer to automate download and
>> install of Adobe AIR (if not exists) and an AIR application without user
>> intervention. Has anyone tried this? Can it be done (legally/technically)?
>>
>> Another alternative would be the Shu Player (http://www.shu-player.com).
>> This bundles the AIR runtime into a single standalone exe with your AIR app,
>> however distributing such applications contravenes the standard Adobe AIR
>> license (see http://www.shu-player.com/air-runtime-notice).
>>
>> Has anyone had any luck negotiating a "case by case runtime distribution
>> agreement" with Adobe for bundling the AIR runtime with an AIR application?
>>
>> Hope you guys can shed some light on this!
>>
>> Cheers,
>> Jules
>>
>>
>> On Mon, Nov 24, 2008 at 22:33, Jules Suggate <[EMAIL PROTECTED]>wrote:
>>
>>> Hi, sorry for my late reply.
>>>
>>> Merapi is on our list of "possibles", but we don't like the socket-server
>>> approach for reasons of technical aesthetic. Having two separate processes
>>> just smells icky... conceptually the Java code and the Flex code both
>>> address the same concern -- To Build a Rich Client. Separating them
>>> technically is only necessary because the AIR framework doesn't support
>>> everything we need. We'd rather keep the technical structure as similar to
>>> the logical structure as possible.
>>>
>>> An example of what could happen: if the Flex UI crashes, the CD burning
>>> process might continue. Things like this give the socket server approach an
>>> unnatural feel IMHO.
>>>
>>> The main advantage for us of using AIR would be the application updater
>>> harness, but that's ruled out when using the Merapi approach anyway. Most
>>> crucially though, we want a self-contained one-click install, and this is
>>> just not possible using AIR and Merapi from what I can see.
>>>
>>> Cheers,
>>> Jules
>>>
>>>
>>> On Sat, Nov 22, 2008 at 04:31, valdhor <[EMAIL PROTECTED]> wrote:
>>>
>>>>   I don't know about others but this seems, to me, to be a very
>>>> difficult route to take.
>>>>
>>>> Have you looked at the Merapi Project (http://www.merapiproject.net/)?
>>>> This would give you a bridge between your AIR application and the
>>>> local Java implementation.
>>>>
>>>> --- In flexcoders@yahoogroups.com ,
>>>> "Jules Suggate"
>>>>
>>>> <[EMAIL PROTECTED]> wrote:
>>>> >
>>>> > Hi list, long-time-no-post :)
>>>> >
>>>> > I've a gnarly one here.
>>>> >
>>>> > I contract to a VC funded startup formed to create a cross-platform
>>>> desktop
>>>> > client. Unfortunately AIR's APIs are not low-level enough (e.g. you
>>>> can't
>>>> > burn a CD with AIR). We've looked at Zinc, Shu Player, Janus and the
>>>> rest
>>>> > but Zinc and Janus don't support MacOS very well and the legal
>>>> issues around
>>>> > Shu Player make us wary of using it. This is a consumer-facing app
>>>> and needs
>>>> > to be squeaky clean.
>>>> >
>>>> > How about embedding the NPAPI FP10 in a Java process? That would be
>>>> > cross-platform, and we could use NPRuntime to interact seamlessly
>>>> from Java.
>>>> >
>>>> > The Flash Player license allows us to automate download of the FP10
>>>> > installer, however these are the problems we still face:
>>>> >
>>>&g

Re: [flexcoders] Re: Embedding Flash Player

2008-11-24 Thread Jules Suggate
Grr, ok the plot sickens :)

Have just spoken with the guys and someone pointed out that native
drag-and-drop, custom context menus and similar OS-level integrations are
never going to be added to the Flash Player now that Adobe have AIR to put
those features into. I'm inclined to see their point, but I need to think up
a way around the one-click install showstopper.

Naive approach would be: use a native installer to automate download and
install of Adobe AIR (if not exists) and an AIR application without user
intervention. Has anyone tried this? Can it be done (legally/technically)?

Another alternative would be the Shu Player (http://www.shu-player.com).
This bundles the AIR runtime into a single standalone exe with your AIR app,
however distributing such applications contravenes the standard Adobe AIR
license (see http://www.shu-player.com/air-runtime-notice).

Has anyone had any luck negotiating a "case by case runtime distribution
agreement" with Adobe for bundling the AIR runtime with an AIR application?

Hope you guys can shed some light on this!

Cheers,
Jules

On Mon, Nov 24, 2008 at 22:33, Jules Suggate <[EMAIL PROTECTED]>wrote:

> Hi, sorry for my late reply.
>
> Merapi is on our list of "possibles", but we don't like the socket-server
> approach for reasons of technical aesthetic. Having two separate processes
> just smells icky... conceptually the Java code and the Flex code both
> address the same concern -- To Build a Rich Client. Separating them
> technically is only necessary because the AIR framework doesn't support
> everything we need. We'd rather keep the technical structure as similar to
> the logical structure as possible.
>
> An example of what could happen: if the Flex UI crashes, the CD burning
> process might continue. Things like this give the socket server approach an
> unnatural feel IMHO.
>
> The main advantage for us of using AIR would be the application updater
> harness, but that's ruled out when using the Merapi approach anyway. Most
> crucially though, we want a self-contained one-click install, and this is
> just not possible using AIR and Merapi from what I can see.
>
> Cheers,
> Jules
>
>
> On Sat, Nov 22, 2008 at 04:31, valdhor <[EMAIL PROTECTED]> wrote:
>
>>   I don't know about others but this seems, to me, to be a very
>> difficult route to take.
>>
>> Have you looked at the Merapi Project (http://www.merapiproject.net/)?
>> This would give you a bridge between your AIR application and the
>> local Java implementation.
>>
>> --- In flexcoders@yahoogroups.com , "Jules
>> Suggate"
>>
>> <[EMAIL PROTECTED]> wrote:
>> >
>> > Hi list, long-time-no-post :)
>> >
>> > I've a gnarly one here.
>> >
>> > I contract to a VC funded startup formed to create a cross-platform
>> desktop
>> > client. Unfortunately AIR's APIs are not low-level enough (e.g. you
>> can't
>> > burn a CD with AIR). We've looked at Zinc, Shu Player, Janus and the
>> rest
>> > but Zinc and Janus don't support MacOS very well and the legal
>> issues around
>> > Shu Player make us wary of using it. This is a consumer-facing app
>> and needs
>> > to be squeaky clean.
>> >
>> > How about embedding the NPAPI FP10 in a Java process? That would be
>> > cross-platform, and we could use NPRuntime to interact seamlessly
>> from Java.
>> >
>> > The Flash Player license allows us to automate download of the FP10
>> > installer, however these are the problems we still face:
>> >
>> > - If a user doesn't have the player installed, there will be a
>> two-step
>> > install process (one for the player, one for our app), which is
>> sooo 90s
>> > - We can't legally change the install location of the NPAPI
>> plugin, so if
>> > we automate downloads of the NPAPI FP10 and the user doesn't have
>> Mozilla
>> > installed it's unclear what we should do
>> > - Not sure if we can specify the kind of Player (NPAPI vs ActiveX) to
>> > download from adobe.com if the user is on Windows
>> >
>> > Even for the base case (a user with Mozilla and the NPAPI FP10 plugin
>> > installed prior to install of our app), should we talk this over
>> with Adobe
>> > legal?
>> >
>> > Has anyone heard of Adobe entering into custom licensing agreements
>> for this
>> > kind of thing (and I mean, actual bonafide true stories, not conjecture
>> > based on Adobe's licensing page making passing reference)?
>> >
>> > Hope this hits someone's cache!
>> >
>> > Cheers,
>> > Jules
>> > --
>> > Jules Suggate
>> > Owner and Technical Lead
>> > Uphill Sprint Limited
>> >
>> > +64-21-157-8562
>> >
>>
>>  
>>
>
>


Re: [flexcoders] Re: Embedding Flash Player

2008-11-24 Thread Jules Suggate
Hi, sorry for my late reply.

Merapi is on our list of "possibles", but we don't like the socket-server
approach for reasons of technical aesthetic. Having two separate processes
just smells icky... conceptually the Java code and the Flex code both
address the same concern -- To Build a Rich Client. Separating them
technically is only necessary because the AIR framework doesn't support
everything we need. We'd rather keep the technical structure as similar to
the logical structure as possible.

An example of what could happen: if the Flex UI crashes, the CD burning
process might continue. Things like this give the socket server approach an
unnatural feel IMHO.

The main advantage for us of using AIR would be the application updater
harness, but that's ruled out when using the Merapi approach anyway. Most
crucially though, we want a self-contained one-click install, and this is
just not possible using AIR and Merapi from what I can see.

Cheers,
Jules

On Sat, Nov 22, 2008 at 04:31, valdhor <[EMAIL PROTECTED]> wrote:

>   I don't know about others but this seems, to me, to be a very
> difficult route to take.
>
> Have you looked at the Merapi Project (http://www.merapiproject.net/)?
> This would give you a bridge between your AIR application and the
> local Java implementation.
>
> --- In flexcoders@yahoogroups.com , "Jules
> Suggate"
>
> <[EMAIL PROTECTED]> wrote:
> >
> > Hi list, long-time-no-post :)
> >
> > I've a gnarly one here.
> >
> > I contract to a VC funded startup formed to create a cross-platform
> desktop
> > client. Unfortunately AIR's APIs are not low-level enough (e.g. you
> can't
> > burn a CD with AIR). We've looked at Zinc, Shu Player, Janus and the
> rest
> > but Zinc and Janus don't support MacOS very well and the legal
> issues around
> > Shu Player make us wary of using it. This is a consumer-facing app
> and needs
> > to be squeaky clean.
> >
> > How about embedding the NPAPI FP10 in a Java process? That would be
> > cross-platform, and we could use NPRuntime to interact seamlessly
> from Java.
> >
> > The Flash Player license allows us to automate download of the FP10
> > installer, however these are the problems we still face:
> >
> > - If a user doesn't have the player installed, there will be a
> two-step
> > install process (one for the player, one for our app), which is
> sooo 90s
> > - We can't legally change the install location of the NPAPI
> plugin, so if
> > we automate downloads of the NPAPI FP10 and the user doesn't have
> Mozilla
> > installed it's unclear what we should do
> > - Not sure if we can specify the kind of Player (NPAPI vs ActiveX) to
> > download from adobe.com if the user is on Windows
> >
> > Even for the base case (a user with Mozilla and the NPAPI FP10 plugin
> > installed prior to install of our app), should we talk this over
> with Adobe
> > legal?
> >
> > Has anyone heard of Adobe entering into custom licensing agreements
> for this
> > kind of thing (and I mean, actual bonafide true stories, not conjecture
> > based on Adobe's licensing page making passing reference)?
> >
> > Hope this hits someone's cache!
> >
> > Cheers,
> > Jules
> > --
> > Jules Suggate
> > Owner and Technical Lead
> > Uphill Sprint Limited
> >
> > +64-21-157-8562
> >
>
>  
>


Re: [flexcoders] Embedding Flash Player

2008-11-24 Thread Jules Suggate
Hi guys, sorry about my slow response. I was enjoying my weekend :)

We have decided to continue on this line of inquiry, partly due to your
answers.

Steve, you mentioned kicking of a silent install of the Player if it's not
found. How "silent" can you make it? From memory, the player install
sequence has a few dialog boxes and progress bars... is the distributable
installer sequence less obvious, or are these dialogs just part of the
overall installation "experience" for your users?

We'd be happy enough with the latter, but the former would be even better
:-)

Thanks again!

On Sat, Nov 22, 2008 at 07:12, Steve Mathews <[EMAIL PROTECTED]> wrote:

>   Well it was less than great because someone here applied online several
> times but could not actually get the installer. Then we had a chat with Lee
> Brimelow (http://theflashblog.com/) <http://theflashblog.com/>, he passed
> our request on and we got the installer within a day or two. So I would
> recommend talking to him or another evangelist to help the process.
>
> Steve
>
> On Fri, Nov 21, 2008 at 9:07 AM, Jim Hayes <[EMAIL PROTECTED]> wrote:
>
>>  How easy was it to get the licence to distribute the flash player?
>>
>> Anecdotally, I'd heard this was rather hard to do in practice, but maybe
>> this has changed since I last enquired a couple of years back.
>>
>> This has always been a stumbling block for various solutions I've tried
>> over the years.
>>
>>
>>
>> -Original Message-
>> *From:* flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] *On
>> Behalf Of *Steve Mathews
>> *Sent:* 21 November 2008 15:48
>> *To:* flexcoders@yahoogroups.com
>> *Subject:* Re: [flexcoders] Embedding Flash Player
>>
>>
>>
>> You can get a license to distribute the installer from Adobe. Then just
>> silently install the player you need when installing your application.
>> Unless there is something I don't know about the 'Plugin' version of the
>> installer. We are doing exactly this but we are targeting windows only (C#
>> app + Flash 9 ActiveX msi).
>>
>>
>>
>> Steve
>>
>> On Fri, Nov 21, 2008 at 3:48 AM, Jules Suggate <[EMAIL PROTECTED]>
>> wrote:
>>
>> Hi list, long-time-no-post :)
>>
>> I've a gnarly one here.
>>
>> I contract to a VC funded startup formed to create a cross-platform
>> desktop client. Unfortunately AIR's APIs are not low-level enough (e.g. you
>> can't burn a CD with AIR). We've looked at Zinc, Shu Player, Janus and the
>> rest but Zinc and Janus don't support MacOS very well and the legal issues
>> around Shu Player make us wary of using it. This is a consumer-facing app
>> and needs to be squeaky clean.
>>
>> How about embedding the NPAPI FP10 in a Java process? That would be
>> cross-platform, and we could use NPRuntime to interact seamlessly from Java.
>>
>> The Flash Player license allows us to automate download of the FP10
>> installer, however these are the problems we still face:
>>
>> · If a user doesn't have the player installed, there will be a
>> two-step install process (one for the player, one for our app), which is
>> sooo 90s
>>
>> · We can't legally change the install location of the NPAPI
>> plugin, so if we automate downloads of the NPAPI FP10 and the user doesn't
>> have Mozilla installed it's unclear what we should do
>>
>> · Not sure if we can specify the kind of Player (NPAPI vs
>> ActiveX) to download from adobe.com if the user is on Windows
>>
>> Even for the base case (a user with Mozilla and the NPAPI FP10 plugin
>> installed prior to install of our app), should we talk this over with Adobe
>> legal?
>>
>> Has anyone heard of Adobe entering into custom licensing agreements for
>> this kind of thing (and I mean, actual bonafide true stories, not conjecture
>> based on Adobe's licensing page making passing reference)?
>>
>> Hope this hits someone's cache!
>>
>> Cheers,
>> Jules
>> --
>> Jules Suggate
>> Owner and Technical Lead
>> Uphill Sprint Limited
>>
>> +64-21-157-8562
>>
>>
>>
>>
>> __
>> This communication is from Primal Pictures Ltd., a company registered in
>> England and Wales with registration No. 02622298 and registered office: 4th
>> Floor, Tennyson House, 159-165 Great Portland Street, London, W1W 5PA, UK.
>> VAT registration No. 648874577.
>>
>> This e-mail is confidential and may be privileged. It may be read, copied
>> and used only by the intended recipient. If you have received it in error,
>> please contact the sender immediately by return e-mail or by telephoning
>> +44(0)20 7637 1010. Please then delete the e-mail and do not disclose its
>> contents to any person.
>> This email has been scanned for Primal Pictures by the MessageLabs Email
>> Security System.
>> __
>>
>>
>>
>>  --
>> Flexcoders Mailing List
>> FAQ: 
>> http://groups.ya<http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt>
>> ...
>>
>> [Message clipped]
>
>
>  
>


[flexcoders] Embedding Flash Player

2008-11-21 Thread Jules Suggate
Hi list, long-time-no-post :)

I've a gnarly one here.

I contract to a VC funded startup formed to create a cross-platform desktop
client. Unfortunately AIR's APIs are not low-level enough (e.g. you can't
burn a CD with AIR). We've looked at Zinc, Shu Player, Janus and the rest
but Zinc and Janus don't support MacOS very well and the legal issues around
Shu Player make us wary of using it. This is a consumer-facing app and needs
to be squeaky clean.

How about embedding the NPAPI FP10 in a Java process? That would be
cross-platform, and we could use NPRuntime to interact seamlessly from Java.

The Flash Player license allows us to automate download of the FP10
installer, however these are the problems we still face:

   - If a user doesn't have the player installed, there will be a two-step
   install process (one for the player, one for our app), which is sooo 90s
   - We can't legally change the install location of the NPAPI plugin, so if
   we automate downloads of the NPAPI FP10 and the user doesn't have Mozilla
   installed it's unclear what we should do
   - Not sure if we can specify the kind of Player (NPAPI vs ActiveX) to
   download from adobe.com if the user is on Windows

Even for the base case (a user with Mozilla and the NPAPI FP10 plugin
installed prior to install of our app), should we talk this over with Adobe
legal?

Has anyone heard of Adobe entering into custom licensing agreements for this
kind of thing (and I mean, actual bonafide true stories, not conjecture
based on Adobe's licensing page making passing reference)?

Hope this hits someone's cache!

Cheers,
Jules
--
Jules Suggate
Owner and Technical Lead
Uphill Sprint Limited

+64-21-157-8562