Author Archive: Ben Watson

I need a Big Fix

One of the challenges in software deployment and management is getting all the right runtimes, drivers, etc in place. At Adobe, this keeps me up at night – how are we going to get our millions of users to update Adobe Reader and Adobe Flash so that our amazing community of developers can trust that their funky new “engaging” RIA will be able to run when a user wants it.

This situation is further compounded in the enterprise where IT staff are forced to do all kinds of contortions to keep up with the demands for a latest, greatest runtime. Do we let users do it themselves? Thats not a good idea, right? Do we sanitize all proposed updates, run them in a sandbox to evaluate, and then do limited rollouts to evaluate impact? That sounds expensive, and it will definitely delay the deployments I am personally vying for? Do we trust vendors to supply us with integratable packages that make network deployment seamless and painless? HA!

I was pleasantly surprised to see that BigFix had introduced some new technology that they call Fixlets (cute) that solve this problem, at least for us here at Adobe, and for their nearly 400 enterprise customers.

“BigFix Enterprise Suite 6.0, a new version of the company’s flagship software that integrates new features that offer capabilities for software license management, expanded executive and compliance reporting, delegation of authority, and client system group management capabilities.”

“BigFix has added real-time inventory and pre-packaged updates for widely used third-party Microsoft Windows-compatible applications to the automated software patch and update distribution service that supports its BigFix Enterprise Suite software.

The new service, packaged as BigFix Fixlet messages, initially includes updates for Adobe Flash Player, Adobe Acrobat, Adobe Reader…(and so on) ”

Good news! Now there should be no excuse for not being able to see that amazing Flex app I just sent you, or not to just stare in awe at the architect sketches of your new mansion that were sent in Acrobat 3D.

What changed…

I am just back from vacation, plowing through a thousand or so emails…first thing I found was a bunch of new useful Flex resources.

First a couple more from Ted Patrick.

A blog of only MXML and AS3 code.
http://www.onflex.org/code/

IFBIN – Open and Free samples and tutorials
http://www.ifbin.com
Seems like a great move for IFBIN!

And a new entry from Zhenhua Yang – already 3rd on Google for “flex livecycle”
http://www.flexlive.net

Cool. Are there more?

Adobe LiveCycle, Flex and ColdFusion Training for Developers

Adobe Developer Week is a full week of online technical seminars on Adobe technologies, scheduled for June 12-16. This is a great chance to attend a technology conference without the $1000 registration fee, the airport security lineups, eating food from a small box, dealing with dodgy wireless connections and ducking unwanted flyers from the booth babes. A conference you can attend in your robe…now that’s good thinking!

There is an effective cross-section of introductory content for folks new to Adobe software, and a few deeper sessions for the veterans…my picks include Duane Nickull’s Processing Models for the New Client and the folks from Ensemble doing an Introduction to Adobe LiveCycle Workflow and QPAC Development. Mike Downey’s ActionScript 3.0 for Flash & RIA Developers with principal scientist, Gary Grossman will be a good session for those taking a first look at AS3. Joe Rinehart’s ColdFusion and Model-Glue also looks pretty interesting. I would also recommend the Flex session, Enterprise development with Flex Builder and Flex Data Services with James Ward and the Apollo session – Building Killer RIAs? Meet: Adobe’s Next-Gen Technology with the Apollo product manager, Luis Polanco. This one will book up fast so register now.

This FREE, week-long event features live, online sessions presented by Adobe technology experts. See live demos and get your questions answered by the experts during interactive Q & A sessions. You could win a copy of Flex Builder 2, an iRiver H10, or other cool prizes just for attending.

Adobe Developer Week – you register for only the individual sessions you choose to attend.

“Open Source is not just for geeks anymore” – CNN

Just watched a brilliantly assembled special special report on Open Source software. Mozilla, IBM, OSU, Open Source Development Lab, Posse, Wikipedia, Lego and many other organizations were featured in the interviews in this report.

To me this was another real sign of maturity for open source. Not that it validates it, but rather that it pushes it out to audiences that really don’t think about it that much because they see it as being marginal or cliquey.

The first part was set in Oregon, talking about how Portland has repositioned itself as a hub for open source. It was odd to see normally media-shy Linus Torvald have the big news network into his home. I like that he focused on his “team”, talking about how his development team works better together than companies like Microsoft, and that it no longer matters if people are in the same building or even the same company, since we all work over email anyway. He turned around the notion that he was a “rock star” saying he had no interest in normal conferences, or even the commercial implementations of Linux.

Lego, the big toy company, was also a big featured company in this, and they talked about how open source software is driving Mindstorm, where they actively encourage customers to play a role in development. Lego factory also talked about open source design, where the community builds whatever they want, and the designs and packaging are generated based on customer input. This seemed to be a bit of a stretch from true open source but an interesting building block in the overall theme, nonetheless. SInce I have three avid Lego developers at home, I plan to actively encourage them to contribute their designs and work back to Lego Factory and the Lego community. Maybe now we can get two more of those little yellow hands that are lost from the soldier dudes.

This version of open source sounds a lot like plain old customer-centric or community thinking with yet another marketing spin on this apparently novel idea of listening to your customers.

Jimmy Wales from Wikipedia also talked about the social implications, and the goal of Britannica quality, he stressed that it was not about the programs and software, it was about the people. “Information should be non-proprietary” “People should be sharing information” “…the damage that is caused when organizations horde information” “…freeing up the information so people can get things done” “Everything is a work in progress” – I love wikipedia.

Portland’s FreeGeek, a non-profit volunteer driven organization focused on system and hardware waste – “give us your unwanted compudetritis and send us your hordes of geeks who want it” – if you volunteer they train you to build systems – you build 5 for the community and you can keep the sixth. Cool!

Then they took an interesting turn into “open source beer” based on the recipe for FreeBeer from Rasmus Nielsen and Superflex – and now they had my attention! Off to a Danish website to get the world’s first open source beer recipe, a quick shopping trip through London, and we watched a couple more interviews as the reporter’s open source beer fermented. Apparently his batch didn’t turn out as expected, but as he said, “That’s the beauty of open source, if I dont like it, I can just change it.” If you are interested, this is released under a Creative Commons license, which basically means that you can use it free of charge but if you make money selling their unique beer, you have to give them credit and publish any changes you make to the recipe under a similar license. Free like beer.

All in all, the reporters did a good job of posiitoning open source as more of an accessible social phenomenon than an elitist technology revolution. Mostly, it was interesting to see CNN preaching the open source gospel from an end user perspective, skirting the techie talk and ending one section on a nice sunset shot on and the words “open source is no longer just for geeks.”

I couldn’t help but think that open source media would mean open sources. I am sure that this would be good leg up for smaller media entities, who produce news items that aren’t just for geeks either.

I think you can use this information if you want to, but if you make any money from it, I will probably have to take it and then pass it on to someone else. I should probably just get out more.

On that note, do you remember Wonkette’s feature, “The Blog Report Report,” where they describe CNN describing bloggers describing the news.

I’m Ben Watson, it’s May 19th, and that’s the news.

Continue reading…

AJAX Developer Day at XTech

Today was a solid day of demos, details and development on AJAX in Amsterdam at XTech. One speaker pointed out that there are now over 134 AJAX frameworks – it is amazing to see what developers are doing in the browser.

Flex drew some oohs and aahs as well with this crowd – seeing great components being built for Flex definitely build interest in the platform.

Highlights from the lightning demo session today include:
- Carculatr – a used car pricing guide built on AJAX for mobile
- Javeline – data driven UI and events for AJAX
- Adactio – link hijacks mashup in a terminal application UI (there was AJAX GUI too, but the terminal stuff was cooler)
- DabbleDB – like a file maker application (db) for the web – columns with context
- Opera AJACS – full screen AJAX on a Nokia with Canvas to handle 3D and audio
- eMessenger – componentized AJAX chat client based on the big messenger providers

Amsterdam XTech

I bet you think three X’s following the name of the city on their heraldic device and everything down to the drains are something other than symbolic of a cross upon which an apostle by the name of Andrew was crucified. Why three? According to Queen Wilhelmina who decreed them, they represent three moral virtues: Compassion, Resolution, and Heroism. You thought they meant something else?

X – Compassion: Back in Amsterdam showing our support for another XTech. I guess they felt sorry for me having to travel all the way to Amsterdam (ha!) so I got added at the last minute to the AJAX day tomorrow – spinning up a new talk on the interaction models and UI practices that make for good RIA, and digging into the Services Oriented Client with AJAX and Adobe Flex.

X – Resolution: High resolution. It’s all about handling events and states. The fun is in the UI and the coding – you have all that expression baked in your IDE now, don’t you? My resolution: try harder if I find it needs more than one button that just says, “Yes, Yes, Yes.”

X – Heroism: Have you seen Spry yet? Minimum J AJAX – sweet. Maybe I’ll show it tomorrow. Also in Amsterdam this week, besides all the normal goings-on, looks like the Barcamp Amsterdam II is cooking – so we are all looking forward to the sessions and lessons this week.

Turns out I’m missing the sessions, lessons and all the Guru:Logic at JavaOne . Like I said, it’s all about the events and getting into the States.

bensterdam.jpg

Vocoder

Very old coder…

Have you noticed the high degrees of appropriated terminology that technologies and developers continue to borrow from the music industry? Seeing a conference called mix that had nothing to do with audio technology or bartending was the spark for me. I am getting on the “band” wagon.

Some examples:

Mash-ups: Used to define when a DJ takes tracks from the seventies or eighties, roughs them up a bit, gives the bassline a little more substance and suddenly you have Pat Benatar humming along to a Digweed track. Wait, now it also means slamming technologies together (not too many from the seventies and eighties) with no bassline and producing an app where none existed before.

Mixing: Used to mean when a sound engineer (like Daniel Lanois) puts his hands on the sliders and ensures that the background vocals are not popping out in front of the svelte tones of some surfer dude. Also means data from many sources all rendered in the same UI. With Flex you can build apps that let users work the UI with sliders, which could make users feel like they are in the booth.

There are more examples of this, but rather than “harp” on these, I thought it would be fun to keep the spirit of things moving along and generate some new ones. After all, who can argue the usefulness of digital rights management for documents and files, and that was clearly driven by the music and video industry need for piracy reduction.

B-Side: Beta version developer tools being used in production applications.

Classics: 4GL

Click track: The passing of billable time.

Dub: Changing the UI without changing the app logic.

Fade in: What developers do with new tools and languages.

Fade out: What developers do during sales presentations.

Detune: Removing clustering, connection pooling, etc to point out performance bottlenecks in applications.

Karaoke: Blogging about what someone else said and quoting them verbatim and freely while doing it.

Key: Seemingly necessary adjective before the word “differentiator”

Re-mix: Changing the perception of emerging technology to match what your boss says you need.

Payola: Free hockey tickets and baseball caps given to developers in exchange for their sworn loyalty, and hopefully a customer reference story.

Top 10: Bug list.

Vocoder: Very old coder.

Voiceover: What you have to do to make sense of marketecture regardless of the audience.

Got more?

Adobe proves more Flexible

The Flex 2 Beta is live and you can check it out at Adobe Labs. This is the second significant new product we have revealed on Labs since the acquisition of Macromedia late last year.

Flex 2 is a big change. A change for Adobe. A change for Flex. A change in the licensing. A change in the amount of associated collateral, adjuncts and how open we are going to be with our frameworks, SDKs and encouraging different approaches to developing on our platform.

For our many LiveCycle customers, watch for the integration with our LiveCycle products, namely LiveCycle Forms and LiveCycle Workflow, with Flex applications. This is not integration in the typical software company sense of the word – we have just been using “above the API” development to get things working together, and so have a few of our customers and partners. We have already built some powerful examples of how this can benefit the Web 2.0 user experience, seen in the form of integration between Flex applications and PDF forms, ColdFusion and PDF Forms using our XPAAJ download (XML PDF Access APIs for Java) and using Flex to build a portal-type application to manage all of a user’s PDF forms. We plan to get this integration posted as bits on Labs over the next little while and I will keep you posted.

There has already been a lot of excitement around the beta for Flex 2, so much so that there have been some misconceptions and information put out there that is not accurate. I would like to clear some of this up. You may have read on some of the news sites that FlexBuilder was going to cost $1,000 per developer. It is going to be under $1,000. You may have read that there was going to be a developer version of Flex Enterprise Services – which you might expect since many of the other products like ColdFusion, Flash, Dreamweaver and even LiveCycle products have developer versions. In fact, we are going to be giving away for free a version that will allow you to have up to 20 users connected to a deployed application. Yes, you can use this for development, and that is the intent, but at this point it is fair to speculate that applications will be deployed on Flex Enterprise Services using this version.

We are also putting the final touches on the Flex2 SDK and this will be available on the Labs site in the next little while. While the SDK in its current iteration is for Windows only, my team and many others are working to get an “official” Mac version released as well.

A lot of this may come as no surprise to developers that had been working Macromedia, but, I think this marks a new dedication to how Adobe works with developers and how we bring products out into the market in cooperation with developers, gaining more and more feedback, input, and community support for our launches.

IMHO, Web 2.0 just went beta, and now that we are here and launching, I can’t imagine ever doing it any differently. Now, get down to the lab and improve your user’s experience.

Adobe + Macromedia = (G) All of the above

1) Equals a lot of hard work that we have been doing to align our various product lines and the benefits of that are already apparent in the new bundles you can find on the Adobe store. I can get Dreamweaver with Photoshop? Sign me up!

2) Equals some best kept secrets that our team and many other teams have been doing to build some great sample applications – Macromedia Flex with Adobe LiveCycle, Macromedia ColdFusion with Adobe LiveCycle, Macromedia Flash with Adobe Acrobat and more… stay tuned to our developer centers for more on this.

3) Equals a new world of opportunity for developers interested in taking advantage of the largest installed interactive, multimedia, customizable, extensible platform for client applications. We have seen some great examples of this already and we are asking you to tell us what you are working on this area so we can better understand the new world of possiblity. Got something cool to share? Comment on this blog or send an email to dev_info@adobe.com.

4) Equals time to roll up our sleeves and start the real integration work, not the integration of two companies, but the integration of two complete worlds of software that are already well established with business users, developers and designers. We are already working on the next version of LiveCycle here at Adobe and we are very excited about the opportunity this will present to us.

5) Equals a huge sigh of relief on everyone’s part. Us techie types don’t really spend a lot of time thinking about what it takes to really make a deal like this happen. Instead we tend to get right down in the weeds as soon as possible and start trying to reinvent the wheel (IMHO, square is underrated even though its a bumpy path to take). When it comes to mergers or acquisitions, we want to acquire the code instead of our rival, merge the data instead of our domains, optimize the runtime instead of the resources, and we really only need lawyers to be part of the focus group on the new UI.

6) Equals Integration above the API – encouraged and supported! You still bend the rules, you still break the apps, you still find the hidden features (yes, we have no buggy bananas), and you still have to make it do what you want it to. But, now we can actually help. In fact, this morning the first order of business was supporting an early example of very tight integration between Flash and Acrobat by some very talented developers. (more to come on this…)

7) An opportunity for a multiple choice question. Adobe+Macromedia = :

a) A sign of life for Web 2.0.
b) A truly everywhere client platform.
c) A real composite application development suite.
d) The beginning of the end of deployment-driven architectures.
e) One of the largest and fastest growing developer communities around.
f) A new face for Java.
f) A really cool bunch of awesome geekiness with all the requisite blinky lights and shiny knobs.

If you answered a resounding “Gee, yes, yes, yes” to all of the above, then you’d fit right in around here today.


Ed. note: Yes, he drank the koolaid – although it’s technically not his fault, Mike Potter actually drank some first and then slipped it into Ben’s coffee while he was busy talking up the person rumored to be his new boss. These things happen.

SOA, BPM and Documents

Matching the types and tiers of applications between SOA, BPM and Document Services might make me guilty of “marketecture” – the clever but generally obfuscating, vague and confusing PPT version of a real application architecture – but I have found the following to provide the basis for a very useful tool employed in explaining how to build a better mousetrap with LiveCycle and PDF-centric applications.

According to the AMR Research Market Analytix Report “Service-Oriented Architecture: Survey Findings on Deployment and Plans for the Future,” the dominant reason (48%) for people to embrace SOA technologies is the ability to configure business processes more quickly and flexibly. A growing number of developers are moving toward SOAs (intentionally in most cases) in order to meet challenges of both intra-application behaviors and the need for truly functional interactivity. This approach can automate the result of processes in a faster, securer, and more cost-effective way. While SOA is often used in many differing domains with different semantics, I like to use the definition of SOA as an architectural paradigm, or simply stated, a model for architecture.

Reinventing people’s processes by integrating documents or forms into SOAs involves some discussion on three technical topics: SOAs, BPM workflows, and document services. If we use 3 tiers to describe the SOA overlay on the core applications and we assume that each tier has three elements, then each element in a tier interacts with its corresponding counterpart in another tier. Now I wave the magic technology marketing wand and the three tiers apply to other technology trends like BPM, workflows, and document services. Then I spin the three ideas to align around the necessary application components and “abracadabra, ala-shazam” I have provided a method to describe an open architecture and standards-based approach to developing applications that utilize documents as the interface and enable IT developers to add or eliminate services to meet changing technical requirements or business needs.

SOA
The SOA afficionado builds applications as services. SOA can be defined using three different views or elements that are required:

1) Applications: The developer breaks down underlying artifacts and improves the aspect orientation of discreet units of application or business logic.

2) External interfaces: This developer exposes both configuration interfaces and activity interfaces.

3) Transport: The developer enables SOA by providing transports to the collection of services within composite applications.

Workflow
The BPM or workflow architecture gets applications oriented around workflows so that services can be integrated into BPM applications. Three types of workflows can be persisted from your SOA up to the document layer:

1) Intra-application workflows: Developers combine the services interfaces of different applications, essentially exposing and serializing APIs to create new functionality or new transaction types that persist across several applications or infrastructure layers.

2) External workflows: Developers can externalize business processes and workflows to interface to a set of pre-existing applications. What is needed is a way to represent expose services or represent transactions and data to the various business stakeholders.

3) Human-centric workflows: Developers can provide interfaces for people to access the various functions. This access can be granted based on the roles of the different actors that need to request, submit, review, or approve the things that cannot be automated through technology alone. Even if these transactions can be automated, they often still require some type of intervention in order to provide approval or input..

Documents
Documents services can be used to link security services to a specific document, create and bind policies to documents, and expose enterprise data as documents with read and write permissions for authenticated users. The following three elements comprise the baseline of document services:

1) Document services: Developers can deploy document services on the same layer as other services and therefore can be easily combined with other applications that require access to the API. Not only can we process requests using these services, but we can also impact the way in which applications process information contained in the specific document functions. Further, these transactions can now be handled as secure communications inside and outside a firewall.

2) Document templates: Developers can dynamically assemble intelligent documents at runtime using data and logic constraints in the XML or code. Intelligent documents are actually secure, dynamic digital containers for delivering and executing document services. The documents integrate XML content and high-fidelity presentation in PDF with powerful business logic that drives form or document design behavior. Built-in capabilities include calculations, routing instructions, error checking, digital signatures, and data validation. Data in XML can be imported and extracted automatically.

3) Document clients: Users interact with the documents through universal clients. Examples of universal clients include standard web browsers or free software to enable people to view and engage with interactive, quality digital documents anywhere at any time. Adopting accepted standards like web interfaces and PDF is critical because it offers users uninterrupted access to materials now and in the future.

Given the similiarity and the dependencies in each of the three tiers, a simplistic comparison can be applied to show how the approach we are taking to manifest documents as the end-user interface for large applications is therefore an instantiation of an SOA.

1) There are both application logic and a message bus required to instantiate application interactions. In this layer we can consider the folowing:
Application = Intra-application workflow = Document services

2) There needs to be an application interface or some technology provision for external interaction that is schema-driven. Given that:
Application interface = External workflows = Dynamic templates

3) A useful container generally requires a client that provides the usability to these interfaces, and unlocks the workflows, data and interaction required to carry out the application functions
Transport = Human-centric workflow = Interactive forms and documents

In each of the examples above, the dependencies roll back into the previous. For example, an interactive form assumes the existence of and represents human-centric workflow and has a dependency on a mechanism for transport. Simply put, email me the form and I will submit the data from here. It’s not about redundant technology, it’s more about abundant technology and, IMHO, this is a logical extension of where you might already going. If you clicked to this blog from the Macromedia MXNA, then this blog is a document that went through a workflow and exists in a services oriented architecture.

No actual developers, code or architectures were used or harmed in the creation of this entry, yet. The almost entirely fictional representations herein are meant to provoke thought, not debate, and any resemblance to marketing or technical literature is purely coincidental.