Agile Project Management: Lessons Learned at Google
In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.
Tracking change and innovation in the enterprise software development community
Posted by Jon Rose on Sep 14, 2007 05:33 PM
Adobe has been working hard on their upcoming Adobe Flex 3.0 release, expected in early 2008. Adobe Flex is a developer toolset for building Rich Internet Applications that run in the browser with Flash Player or on the desktop with Adobe AIR. InfoQ talked with Adobe’s James Ward, Technical Evangelist, to learn more about the upcoming release. In addition to the information he provided us, you can read more on his blog at: jamesward.org.Already in the first public beta release of Flex 3 there have been significant changes to both the free Flex 3 SDK and Flex Builder 3.
Some of the most noteworthy changes include:A new memory and performance profiler in Flex Builder Support for creating applications which utilize the Adobe Integrated Runtime (AIR) ActionScript class name refactoring Significantly improved first-run application startup time when using the Persistent Framework Cache Numerous improvements to the Design View in Flex Builder
One of the best new features for Flex 3 is the Persistent Framework Cache. With the Persistent Framework Cache if a visitor to your RIA has already visited someone else's Flex application then they will likely already have the 495KB Flex Framework in their Flash Player Cache. This will dramatically reduce the size of the application which the user would now need to download. In many applications this will reduce the initial application download to below 100k.
Another great feature of Flex Builder 3 is the memory and performance profiler. This allows you to see exactly where your applications maybe leaking memory or where there might be performance bottlenecks.
Along with new components like the Advanced DataGrid and improvements to the Charting Components there have been numerous foundational improvements to Flex. These include improvements to accessibility, runtime localization, and built-in deep linking support (browser back, bookmarking, etc).
To see a full list of the planned features for Flex 3, see the Roadmaps:
The Flex 3 SDK Roadmap http://flexwiki.adobe.com/confluence/display/ADOBE/Flex+3+Planning
The Flex Builder 3 Roadmap http://flexwiki.adobe.com/confluence/display/ADOBE/Flex+Builder+3+Planning
The open sourcing effort for the Flex SDK is well under way. There is actually a pretty significant time investment required to open source a project as large as the Flex SDK. Like the Sun JDK this isn't something that all happens overnight. The goal for us is to make the Flex SDK fully open source by the time Flex 3 is released. Some of the tasks along the way have already been completed. We have an email list on Google Groups called "flex-open-source" for discussing items related to the open source effort. We also now have moved the entire bug database for Flex (even all the historical bugs) to a public JIRA system. You can create an account and start filing bugs, voting for bugs, etc at bugs.adobe.com/flex. We have also made the Flex roadmap publically available at: http://bugs.adobe.com/confluence/display/ADOBE/Home
The Flex 3 SDK will be free and will most likely be MPL licensed. We will also offer a dual license for OEMs who are unable to bundle MPL software. We haven't yet announced licensing for Flex Builder 3.
Microsoft hasn't really entered the RIA market. They are building a new platform which is centered around video on the web. This is one aspect of an RIA platform. Yet the quality of Silverlight's VC1 video codec did provoke us to release the higher quality H.264 codec sooner than we had originally planned. We also added hardware video scaling to support full-screen 1080p video playback in Flash.
One central aspect to RIA where Flex is a few years ahead of Silverlight is with our component library. With Silverlight you pretty much have to build your entire UI from scratch. The Flex community and Adobe provide hundreds of skinable, stylable and extensible components like DataGrids, Accordions, TabNavigators, and Charts. Other aspects where we are a few years ahead include built-in support for accessibility, internationalization, deep-linking, unit testing, automated testing, data-binding, effects, drag-and-drop management, and a ton more things that you really need when you build RIAs. To see what components are included in Flex you can browse the Flex Component Reference documentation, check out the Flex 2 Component Explorer, or the Flex 2 Style Explorer. For a list of other community components see flexbox and the Flex Component Exchange.
With Silverlight you can use the Expression Blend technology which generates XAML markup which you can use directly in your Silverlight project. With Flex the designers use tools like Photoshop, Illustrator, and Flash CS3 and export their assets as binary objects (bitmaps or swfs) and then the developer uses those assets as skins or components within Flex.
One of the biggest differences between Flex and Silverlight is with adoption. 90% of the PCs on the internet already have the runtime for Flex applications installed. Flash Player is the most quickly adopted and most installed piece of software in the world. It's hard to compare Silverlight's lack of adoption with that kind of momentum.
For those building RIAs now there is really no better option than Flex. It is backed by a free and soon to be open source SDK, great Eclipse based developer tools, and a giant community. Clearly there is a lot of momentum behind Flex.
The Adobe Integrated Runtime (AIR) is a desktop runtime for Flex, Flash, Ajax, and HTML applications. It allows developers to use their existing skills and many times existing code to build applications which run on the desktop and have additional functionality. AIR applications can do things like access system resources, integrate with system drag & drop functionality, display system notifications, and save data to an embedded database. Developers can use the Flex 3 SDK and Flex Builder 3 to easily build AIR applications. AIR also allows developers to easily build RIAs that have a more custom branded experience and work offline.
There are several large companies, including eBay and Salesforce, already using AIR. The buzz around AIR is primarily because many applications need functionality and customizability beyond what exists in the browser. AIR is also built using a number of open source technologies including Mozilla Tamarin (the VM for Flash Player), Webkit (the HTML rendering engine in Safari), and SQLLite.
Flash CS3 is still the primary tool for designers building Flash content and Flex is the primary tool for developers building Flash based applications. Shortly after the CS3 release we posted the Flex Component Kit for Flash CS3 on labs.adobe.com that allows designers to easily work together when building Rich Internet Applications. Now designers can create assets in CS3 and hand them off to a Flex developer who can use those assets in their applications. You can watch a great walk through of using the Component Kit here: http://adobedev.adobe.acrobat.com/p75214263/
Flex 3 will require the same runtime as Flex 2, Flash Player 9. However a developer may choose to require a newer version if they wish to take advantage of new features in Flash Player. The Persistent Framework Cache and H.264 support will require the newest version of Flash Player 9 which is currently in beta. Developers can check the user's version of Flash Player and either not take advantage of the new features or initiate an express install of the new version. Express Install is only a single click and 1MB download. But it's up to the developer how and when they use features beyond the Flash Player 9 initial release.
New versions of Flash Player take 9 months to reach 80% adoption and 12 months to reach 90% adoption. You can find a detailed analysis of the Flash Player adoption statistics on Emmy Huang's (Flash Player Product Manager) blog: http://weblogs.macromedia.com/emmy
IBM Web 2.0 Developer eKit: Free Tutorials, Webcasts, Whitepapers
Introducing application infrastructure virtualization and WebSphere Virtual Enterprise
WebSphere Virtual Enterprise 3 minute demo
The Agile Business Analyst: Skills and Techniques needed for Agile
I think the silverlight competition will be good for all. I also hope that it drives adobe for better support for platforms other then windows (using mac and linux on a daily basis, I dread coming across flex apps).
That's just completely absurd - I have a dev team that's been building a Flex web app for several months and that app behaves the same on Windows IE, Firefox, Mac Safari, Firefox, and Linux Firefox. Indeed, the fidelity is astonishing. When contrasted against any conventional web apps, Flex is vastly more portable with respect to other browsers and operating systems.
Well, yes when you completely control the runtime on each platform your apps will be very portable.
After going through a week of Flex training I new see exactly what James Ward is talking about. Flex/MXML/ActionScript3 is a OOP GUI frameworks that makes possible a component-based software development. This is not the only thing that distinguishes it from Silverlight and JavaFX, but it is certainly an area where it has a lead. This is really great because this component-based approach is exactly what we'll need in the next generation RIA apps that we'll build.
In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.
In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.
It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.
In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.
In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.
Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.
Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.
In this talk from QCon SF 2007, Justin Gehtland explains two open solutions to distributed identity and their Rails integration components: OpenID (using ruby-openid) and CAS (using rubycas-client).
4 comments
Reply