What is Apache Flex? Website Branding Review

Website Brand Review of Apache Flex

Many projects come to Apache from software vendors donating them to the Apache community, where the Apache Incubator works to form an open and independent community around the project. Here, Adobe donated both the code and the brand for their Flex project to Apache. Now, the ASF is the steward both to the vibrant Apache Flex community, as well as the new owner of the Flex brand and registered trademark.

Here’s my quick review of the Apache Flex project, told purely from the point of view of a new user finding the project website. While we’re all familiar with Adobe Flash browser plugin, not everyone may be familiar with the Flex environment for building Flash (and other!) applications.

What Is Apache Flex?

Apache Flex® is the open-source framework for building expressive web and mobile applications.

In other words, Flex is a toolkit for building general applications that can be run on a variety of web browsers and mobile platforms that include the Adobe Flash or Adobe AIR runtimes or application containers. Flex is the coding language and environment you use to write applications for the Flash/AIR containers.

No, Really, What Is Apache Flex For?

Flex is an SDK – or software development kit. Flex is the code libraries, compiler, and other tools that a developer uses to build applications for the Flash or AIR runtimes. Flex does not include an IDE; while you can hand-write Flex code with your favorite editor, any of several popular IDEs make the build process much easier.

Developers can write in MXML layout language to define documents or screens, including responsive applications for differing screen or presentation modes or features. You use ActionScript to write code for application logic. The Flex SDK includes a wide variety of APIs for accessing features of the target runtime, including mobile device features like GPS, accelerometers, cameras, and the like.

Flex takes your application code and compiles it into an SWF file, which can then run in a target Flash or AIR runtime on a wide variety of platforms or devices.

The Flex project includes a variety of other helper and testing tools, as well as a complete automated unit test suite.

New User Website Perceptions

That is, what does a new user see “above the fold” when first coming to the Apache Flex project homepage? For their first impression, is it easy to find things, and is the design appealing and easy to follow?

The homepage is professionally laid out, with integrated design, graphics, fonts, a colorful but useful carousel, and prominently positioned social media links. Key Documentation, Download, and other links are prominent. The design is consistent across the bulk of the top level links; API reference documentation and the like uses a different, but still pleasant design. The main site footer in particular includes useful About and Subscribe blurbs, including a News ticker.

The main Download for the SDK Installer (what new developers would start with) unfortunately uses a Flash control to begin the download, which some users may have blocked by their web browsers. Since the primary target of use is Flash or Air applications, this makes sense – and there’s a direct link to how to install without Flash on that page.

Pointers to documentation, including Getting Started and How To Get Involved are nicely written and include plenty of details. In particular, the homepage and navbar include plenty of links to introductions and training/learning materials and classes for building Flex applications. While the Flex environment can have a lot of complexity, there are plenty of pointers to good educational materials by the project community and by Adobe. Similarly, there are many examples of existing projects built with Flex – there are plenty of designers in this community as well as coders!

Perhaps I’m getting old, but I found the default font size for body text on the site to be quite small and light in color, making it a more difficult read.

Apache Branding Requirements

Apache projects are expected to manage their own affairs, including making all technical and content decisions for their code and websites. However to ensure a small modicum of consistency – and to ensure users know that an Apache project is hosted at the ASF – there are a few requirements all Apache projects must include in their projectname.apache.org websites (or wikis, etc.)

  • Apache Flex is used consistently, and is carefully ® attributed appropriately.
  • Website navigation links (except **not** Security!) to ASF pages included in the site’s navigation system.
  • Logo includes ™ footers include trademark attributions and a privacy policy link.
  • DOAP file exists and includes latest release.
  • A Community – Third Party Tools page includes a categorized list of a wide variety of third party tools related to building, using, and testing Flex projects.
  • Homepage includes prominent section discussing the Apache license, with a link to a page listing the license and trademark policies. (Note: seems like the about-licensing.html page needs tweaking)

SEO / Search Hits / Related Sites

Well, SEO is far outside of our scope (and debatable in usefulness anyway), but it’s interesting to see: how does a new user find the Apache Flex homepage when they were searching?

Searching for “Flex” (a common word, so we might expect a lot of other hits):

Top hit: varies – either unrelated hits, or Adobe’s information page about Flex
Other top hits: Adobe page, wikipedia page, project homepage, other sites.

Searching for “Flex software”:

Top hits are typically either the Adobe page or wikipedia page. The Apache project homepage is on the first page of results, and a variety of other informational pages (some about unrelated FLEX software) are also found.

Social Media Presence

The Flex project has a notable official social media presence linked prominently on the homepage.

What Do You Think Apache Flex Is?

So, what do you think? Is Flex still relevant in the age of HTML5, endless JavaScript frameworks, and the move away from custom runtimes and tooling to simpler code for interactive features? Will you be more interested in Flex once it can compile your ActionScript directly to HTML/Javascript in the browser without the Flash plugin?

Note: I’m writing here as an individual, not wearing any Apache hat. I hope this is useful both to new users and to the Apache Flex community, not necessarily a call to change anything. I haven’t used Flex for any real deployments myself, so please do comment with corrections to anything I’ve messed up above!

What do you think?