Hi Alex, Om, Justin, and the rest of the FlexJS team and contributors.

I am looking forward to seeing you on Monday at the FlexJS event.  Dhwani
will also be attending the meeting.  Unfortunately, Santanu, Kinjal, Joel,
Bing, and Atin will not be able to attend.  However, they are hard at work
testing FlexJS.

I have stayed behind the scenes mostly since we last met at the 360Flex
event in San Jose.  For the past several months, our team has been doing
what we can to help promote the FlexJS ecosystem in the form of efforts on
the Moonshine-IDE.com project.  This is an IDE written in ActionScript that
runs on Mac, Windows, and also in the browser (via the Flash plugin).

Our vision is that Flex needs its own IDE so that the entire user
experience of working with the tooling can be controlled and refined.
There are too many steps right now to download FlexJS, figure out build
scripts, understand how to properly sign and deploy applications for
Windows, Mac, iOS, and Android, learn the language, etc....

I am not saying FlashDevelop, FDT, Flash Builder Professional, or IntelliJ
are not still needed.  They certainly have a place for multi-language
development and we do not intend to try to replicate all or even most of
their features.  In fact, for a while we were supporting the FlashDevelop
enhancements to bring it to Mac and Linux via CrossOver/WINE.  However, we
could not agree with the project lead on the direction of streamlining the
IDE for use in Flex and making the user on-boarding experience easier.  At
that point, we started searching and stumbled upon Moonshine IDE.

In my opinion, the major IDEs mentioned above are overwhelming.  There are
so many different things vying for the developer's attention in them that
getting to the point of seeing Flex or FlexJS in action takes too much
effort.


I think it is a mistake right now to assume the people downloading the
Flex / FlexJS SDKs are all going well.  Having a focused IDE with some
excellent getting started material could change that landscape.  Showing
people they can hit the ground running and make things happen that matter
and are production grade (especially for traditional Flex) could help
attract new users.

Making these arguments before we had anything useful to show would have
been a distraction.  Alex and the rest of you have enough on your plate
making the core system function.  However, I also want to make it clear
that while we are not necessarily in a position to impact the core
compiler, I think we can add value with this IDE initiative.  This will
have the most impact if we had your blessing and direction.

Therefore, I would like to explore whether you are interested in having the
Moonshine IDE under the control of the Apache FlexJS project.  Having said
this, I am not sure it meets the code clearance requirements right now
because it is NOT all our code.  In fact, most of it is not our code.

I want to be clear that we found Moonshine on the web a while ago.  It was
written mostly by Erik Pettersson of Stockholm, Sweden.  We did not write
it from scratch.  Rather, we began refining what we found that Erik had
published at the link below.   At boot up, it currently lists:
: Moonshine IDE 1.0.0
: Source is under Apache License, Version 2.0
: Originally found at http://code.google.com/p/moonshineproject/
: Uses as3abc (LGPL), as3swf (MIT), fzip (ZLIB), asblocks (Apache 2),
NativeApplicationUpdater (LGPL)

I did receive permission to use the photo by Cristian as the background
image in the open source project.


There are some things missing that I would have liked to be in place before
the meeting:

* Home screen is not polished to guide the user to the correct targets
(iOS, Android, etc).  The current rendering is pretty ugly.

* Necessary resources for compilation are not being properly checked with
an easy to use download link.

* Tour de Flex integration is not as prevalent as I would like so far.

* Example applications are too basic and should do more.

* Integrated Flex API reference should be present.

* The icon is not sleek enough in the Mac Dock -- it is still the original
one.  I'd prefer one that looks like a brightly lit moon (for any graphic
artists on the list...)

* Signed installers so that users on Mac in particular are not presented
with warnings.  If possible a release on the Mac App Store.  I read today
that Microsoft at their Build conference announced a tool which is making
it easier to convert traditional Win32 apps into their Windows App Store
equivalent so that might be another distribution option.


The above are all solvable by us.  We also have a number of other issues in
our internal JIRA to polish that we will keep working on even if you decide
to accept it into the core Apache FlexJS.

Harder issues we likely need help from someone in the community familiar
with Abstract Syntax Tree parsing to implement are:

* Type-ahead support

* Cross-reference of code definitions

* In the future, maybe a profiler like what Flash Builder has


There are several questions I have:

1) Alex, do you see a value in having Moonshine IDE be contributed
officially to Apache FlexJS?

2) Who handles the code clearance for the source?  Especially given that
some of the licenses are non-Apache per my statement above.

3) Would we still have rights to contribute?  I don't think any of us are
code contributors right now.

4) Would we still have control or at least influence over the
Moonshine-ide.com website, or whatever the corresponding Apache page(s)
would be?  There is a lot I would like to improve on it.  We can continue
to do the hosting.  Currently it runs on Wordpress and Visual Builder.  I
think it would be great to add some FlexJS functioning applications to the
site, for things that could be powered by JSON communication and data
binding -- like an app to let people add bookmarks for good resources on
learning Flex.

5) Right now we track the source code in SVN and JIRA internal ticketing
systems.  I assume we would need to move this to GitHub?  Or could we just
continue to publish the source like we are doing now?


I also have some more general concerns and questions:

We would very much like to start using FlexJS in production HTML/Javascript
target applications such as a new customer signup process integrated into a
Wordpress website.  I understand we are probably jumping the gun on this,
but it seems to me based upon the tests we have done so far there are just
a couple of big issues not working that are holding us up:   mainly
Bootstrap and data binding.   I'm told the data binding was fixed in 0.6.0
but Bootstrap continues to be an issue that sounds complex to handle.

Is there anyone on the list who would be willing to take on the Bootstrap
HTML/Javascript effort and could meet a 1 month implementation deadline
under Alex's direction for how this could be implemented?   If so, please
send me privately your fixed price quote for this and I will review it to
see if we can fund this effort.  (You can Skype me at JustinProminic or
reach me on LinkedIn to make sure I do not miss your message on this list.)

I would also like to solicit FlexJS examples for inclusion into Moonshine
IDE.  I think we can find plenty of Flex examples, but not very many for
FlexJS.  I intend for us to contribute as examples all of the work we can
as we try to make FlexJS do useful things for ourselves.  The new customer
signup process which requires Bootstrap to look decent and be responsive
will be our focus on an example.


There are some broader questions I have as well which maybe Alex can cover
in person at the conference Monday rather than in this e-mail thread.

Originally, my understanding was that FlexJS would target SWF as well as
HTML/Javascript.  However, I am having a hard time wrapping my head around
this goal - it seems to me that Flex already properly targets SWF and has a
robust UI framework for the platform.  FlexJS has new MXML containers which
don't seem to be backward compatible.  Is that just something still on the
to-do?  Or is the SWF target for FlexJS more related to iOS and Android
support so it can be used by ADT to turn into an AIR application?  Or are
we still relying upon Cordova/PhoneGap as a strategy?  And if so - why?
AIR and ADT does a good job for Flex and it seems to me we should take
advantage of it.    I want to be clear on this so we know how to properly
explain the goals to new users in the IDE.  The current Apache FlexJS page
is a bit confusing on this topic:
https://cwiki.apache.org/confluence/display/FLEX/FlexJS

Om - I noticed you recently added npm support for FlexJS.   Is your
intention for Node.js to be a server example so that it can send/receive
JSON from FlexJS clients?  If so, I would like to potentially include this
as part of the easy-to-use setup examples on Moonshine.

There are some application package / signing issues for things like DMG
files on Mac that it seems we need to get Adobe to address as part of ADT.
Right now I think we can only properly sign PKG and APP files.  To have a
complete framework we need to be able to sign DMG and ideally the newest
Windows Store applications natively.  Who could we work with at Adobe to
get ADT to support these things?

Thank you,

Justin Hill
My Apache Flex community contribution is working on the open source
Moonshine-IDE.com for FlexJS.

Reply via email to