Thursday, July 12, 2007

MAX 2007 Enterprise Tracks

We now have the final list of Enterprise & Collaboration tracks for Adobe MAX 2007 being held Sept 30-Oct 4 in Chicago, IL. The track focuses on topics like SOA and Web 2.0 Design Patterns for the enterprise and it has lots of PDF, LiveCycle, Flex, AIR and Acrobat Connect sessions. This is just a sample of the training and tracks offered at MAX 2007. There are four other tracks plus Boot Camps and more. If you are looking for LiveCycle or LiveCycle ES training, this is *the* place to be in 2007.

So what are you waiting for - sign up here now ;-)

Adding Dimension to Your Content with Acrobat 3D

Skill: Intermediate

Acrobat

This session covers the Acrobat 3D JavaScript API. Learn how to add script-based interactivity to 3D content inside PDF documents. We'll also explain how to create controls in the enclosing document for vertical solutions such as manufacturing. The session will provide scripting samples for developers as well as an overview of the new features available in the latest product release.


Monday, October 1 3:15 pm - 4:15 pm Grayson Lang, Rak Bhalla

Tuesday, October 2 1:30 pm - 2:30 pm Grayson Lang, Rak Bhalla
------------


Adobe Hosted Services: Web APIs and Mashups

Skill: General Audience

Connect, LiveCycle

This session will provide an overview of Adobe's newly announced "connected documents" initiatives. Learn about these new and exciting methods for improving document collaboration using Adobe technologies.


Monday, October 1 11:30 am - 12:30 pm Patrick Rodriguez, Nigel Pegg

Tuesday, October 2 2:45 pm - 3:45 pm Patrick Rodriguez, Nigel Pegg
------------

Adobe's "Mars" Project: XML-friendly PDF

Skill: Intermediate

Acrobat

This session will explore the decisions behind the "Mars" project, the effort to design a pure XML file format for expressing PDF. The talk will delve into the structure of the logical data model and review the major components. The presenters will show examples and discuss future plans for "Mars".


Tuesday, October 2 9:15 am - 10:15 am Joel Geraci

Wednesday, October 3 1:45 pm - 2:45 pm Joel Geraci
------------


Boot Camp for LiveCycle

Skill: Advanced

LiveCycle, Flex

Write code together with the LiveCycle development team in this three-hour collaborative session. Boot Camp provides a mixture of short presentations, workshops, and free-form coding. Make sure to bring your laptop, your best questions, your most desired features, your coolest projects to share, and be ready to learn something new.


Wednesday, October 3 9:00 am - 12:30 pm Matt Butler, Christoph Rooms
------------


Case Study: Advanced Real-World PDF Examples

Skill: General Audience

Acrobat

This session will showcase some very technically advanced PDF documents created for real-world applications by the Adobe developer/integrator community. We'll focus on four core examples from various vertical industries to show the depth and breadth of use of PDF for information delivery. Each case will examine the "code behind" and relay other developer and business tactics used in the sample.


Monday, October 1 2:00 pm - 3:00 pm Joel Geraci, Thom Parker

Tuesday, October 2 1:30 pm - 2:30 pm Joel Geraci, Thom Parker
------------


Case Study: How Reuters is Changing Step with Adobe Products

Skill: General Audience

Connect

Charles Jennings, global head of learning at Reuters, will present how this global information company is transforming its learning practices with Adobe technology. He will also explore Reuters' work with 24/7 performance support tools and a range of new learning approaches. Reuters works in the fast-moving world of banks and brokerages, supplying indispensable news and data that keeps the financial markets running. Speed and accuracy are key to Reuters' success, in both its services and the way in which it develops and trains its employees.


Monday, October 1 11:30 am - 12:30 pm Charles Jennings

Tuesday, October 2 1:30 pm - 2:30 pm Charles Jennings
------------


Case Study: Leading-Edge Use of PDF Documents in the Financial Industry

Skill: General Audience

LiveCycle

BusinessEdge, a business and technology consulting firm, will showcase how Adobe technology can help make the account enrollment process more engaging and more streamlined.


Monday, October 1 2:00 pm - 3:00 pm

Tuesday, October 2 2:45 pm - 3:45 pm
------------


Case Study: Transforming eGovernment with Software as a Service (SaaS)

Skill: General Audience

LiveCycle

This session will describe the design, development, and implementation of an eForms solution for a large consortium of local government agencies. The project included the development of 20-plus Adobe LiveCycle Form templates shared by all of the agencies. The resulting service is hosted and managed using a new Form Hosting product called FormCenter. FormCenter has been developed by Avoka Technologies for government and large organizations that need to implement customer-facing eForms solutions.


Monday, October 1 4:30 pm - 5:30 pm Philip Copeland

Wednesday, October 3 1:45 pm - 2:45 pm Philip Copeland
------------

Collaborative Hosted Services Roadmap

Skill: General Audience

Connect, LiveCycle

Come learn about Adobe's Collaborative Hosted Services. We'll provide a roadmap and introduction to new services being announced during MAX 2007.


Monday, October 1 3:15 pm - 4:15 pm Erik Larson

Wednesday, October 3 4:15 pm - 5:15 pm Erik Larson
------------


Documents 2.0: The Next Generation of Document Collaboration

Skill: Intermediate

Connect, LiveCycle

Documents are often the user's interface to any enterprise architecture, including SOA and web service infrastructures. Come learn more about using documents as front ends to your applications and solutions. See how the new web services-based family of servers from Adobe provides PDF file generation capability, document storage and sharing, and additional features to enhance your solutions and document roundtripping. This session will include an overview of these document services, the web services interface, and demonstrations of the capabilities of Adobe Integrated Runtime, Acrobat, and Flex (including LiveCycle Data Services).


Tuesday, October 2 9:15 am - 10:15 am Mark Grilli

Wednesday, October 3 3:00 pm - 4:00 pm Mark Grilli
------------

Everything You Want to Know about LiveCycle Form Guides

Skill: Intermediate

LiveCycle

This presentation begins with a general overview of LiveCycle Forms ES and then dives into how to use it as part of a data capture solution. From there, the presentation takes an in-depth look at Form Guides, which enable the creation of wizard-style Flash interfaces using Flex to make form filling easier and more intuitive, and allow for data exchange with the PDF form view.


Monday, October 1 4:30 pm - 5:30 pm Anthony Rumsey

Wednesday, October 3 4:15 pm - 5:15 pm Anthony Rumsey
------------

Extending the Product Lifecycle Management Enterprise with Adobe

Skill: General Audience

LiveCycle

Learn how Adobe LiveCycle products can enhance and extend the PLM Enterprise. This session will identify key weaknesses that exist in PLM products and describe how Adobe LiveCycle products can be used to address them. We will present a case study, demonstrate key functionality, and provide valuable ROI information that can be used to maximize the value of a PLM investment.


Tuesday, October 2 9:15 am - 10:15 am Jason Enzweiler

Tuesday, October 2 4:00 pm - 5:00 pm Jason Enzweiler
------------

Forms Gone Wild

Skill: Intermediate

LiveCycle

This session focuses on the user experience of forms and provides form designers with vital information on creating and deploying form solutions that facilitate a rich user experience. We'll share a top ten list of bad form design elements that apply to PDF, HTML, and Flex and Adobe Integrated Runtime (AIR) technologies.


Tuesday, October 2 9:15 am - 10:15 am Duane Nickull

Wednesday, October 3 4:15 pm - 5:15 pm Duane Nickull
------------

Hands On: Adobe Acrobat: I didn't know you could do that!

Skill: General Audience

Acrobat

Learn powerful techniques for using Adobe Acrobat 8, including scripting in Acrobat and programmatically controlling Acrobat and Reader. We'll cover working with a form, adding some JavaScript to manipulate a PDF document, embedding multimedia, setting up and participating in a PDF review cycle, and more. Get questions answered by a veteran PDF guru, and see tips and tricks used by expert PDF developers. Samples will be distributed.


Monday, October 1 2:00 pm - 3:30 pm Lori DeFurio

Tuesday, October 2 3:30 pm - 5:00 pm Lori DeFurio

Wednesday, October 3 1:45 pm - 3:15 pm Lori DeFurio

Wednesday, October 3 3:45 pm - 5:15 pm Lori DeFurio
------------

Hands On: Building a LiveCycle Center of Excellence

Skill: General Audience

LiveCycle

Learn how a Fortune 100 financial institution built a Center of Excellence around the Adobe LiveCycle product suite. Understand the business drivers that justified procuring Adobe's enterprise-strength software in an environment where multiple Business Process Management (BPM) tools existed. This methodology and lessons-learned session will demonstrate the necessary steps to create and implement a solution team that can increase delivery bandwidth by handling numerous endeavors simultaneously. Qualifying business opportunities, ensuring successful business solutions, implementing standards-based development, constructing a successful delivery team, managing system performance, and monitoring business metrics are all highlighted in this 90-minute session.


Tuesday, October 2 8:30 am - 10:00 am Justin Klei

Wednesday, October 3 1:45 pm - 3:15 pm Justin Klei
------------

Hands On: Building an Application Using LiveCycle ES

Skill: Intermediate

LiveCycle

This interactive session provides an overview of LiveCycle Enterprise Suite and then drills down into the primary components in the context of building an application. We'll also discuss the use case for LiveCycle ES in the industry and compare it to other platforms. NOTE: This is a deep-dive into LiveCycle ES where the participants can follow along on computers, but not where they are coding themselves.


Monday, October 1 11:30 am - 1:00 pm Sanga Viswanathan, Gary Gilchrist

Monday, October 1 4:00 pm - 5:30 pm Sanga Viswanathan, Gary Gilchrist
------------

Hands On: Building Custom Applications with LiveCycle Workspace

Skill: Advanced

LiveCycle, Flex

LiveCycle Workspace provides an intuitive Flex based user experience for initiating and participating in LiveCycle based forms and processes. LiveCycle Workspace provides Flex components, CSS templates, and UI source code to allow customers to customize and extend Workspace. This presentation walks through Workspace components, the underlying SDK, and deployment topologies, including customization.


Tuesday, October 2 1:30 pm - 3:00 pm Mark Bartel

Tuesday, October 2 3:30 pm - 5:00 pm Mark Bartel

Wednesday, October 3 1:45 pm - 3:15 pm Mark Bartel

Wednesday, October 3 3:45 pm - 5:15 pm Mark Bartel
------------

Hands On: Case Study: Insurance Agency Collaboration

Skill: General Audience

LiveCycle

Assurant will discuss how they have used Adobe technology to collaborate more effectively with their independent agent channels.


Monday, October 1 11:30 am - 1:00 pm

Monday, October 1 4:00 pm - 5:30 pm
------------

Hands On: Designing Dynamic Forms with LiveCycle Designer 8

Skill: Intermediate

Acrobat, LiveCycle

Learn how to design forms that people will love. This session examines the elements of good form design with hands-on examples in LiveCycle Designer 8. The session explores important concepts in graphic design and interaction design and shows how these concepts relate to successful form design. Too often, the people filling out forms are frustrated and confused by poorly designed forms. This session will improve your knowledge of design and your thinking about good form design. This session is led by J.P. Terry and there is more information on the SmartDoc website (www.smartdoctech.com).


Monday, October 1 2:00 pm - 3:30 pm J.P. Terry

Monday, October 1 4:00 pm - 5:30 pm J.P. Terry

Wednesday, October 3 11:00 am - 12:30 pm J.P. Terry
------------

Hands On: Designing PDF Forms and Flex-based Form Guides

Skill: Intermediate

LiveCycle

Get up-close and personal with Flex and XFA in this hands-on training session. You will learn how these two powerful technologies can be used together to offer your customers the best online and offline form-filling experiences. We will cover basic form design, scripting and data binding techniques while creating a dynamic PDF form which we will then easily re-purpose to a rich Flash-based wizard, deployable from LiveCycle Forms ES, using the Guide Builder tool.


Monday, October 1 2:00 pm - 3:30 pm Stefan Cameron

Tuesday, October 2 8:30 am - 10:00 am Stefan Cameron

Tuesday, October 2 3:30 pm - 5:00 pm Stefan Cameron

Wednesday, October 3 3:45 pm - 5:15 pm Stefan Cameron
------------

Hands On: LiveCycle ES Business Process Management and Design

Skill: Intermediate

LiveCycle

In this session, we'll explain the process management functionality in Adobe LiveCycle Enterprise Suite. Topics will include components, control flow, data types and mappings, exception handling, events, parallel flows, security, subprocesses, transactions, versioning, short- vs. long-lived processing, and reporting.


Monday, October 1 2:00 pm - 3:30 pm Matt Butler

Tuesday, October 2 8:30 am - 10:00 am Matt Butler, Bob Bailey
------------

Hands On: Rapid Training: Building a Curriculum in 60 Minutes or Less

Skill: General Audience

Connect

Learn to build a curriculum in an hour or less from start to delivery using Adobe Acrobat Connect Professional (formerly Macromedia Breeze). We'll cover authoring content, managing enrollment, and tracking participation.


Monday, October 1 11:30 am - 1:00 pm Randah McKinnie

Monday, October 1 4:00 pm - 5:30 pm Randah McKinnie

Tuesday, October 2 1:30 pm - 3:00 pm Randah McKinnie

Wednesday, October 3 1:45 pm - 3:15 pm Randah McKinnie
------------

Leveraging PDF within Adobe AIR Applications

Skill: Intermediate

Adobe Integrated Runtime, Acrobat

Adobe AIR is a cross-OS runtime that allows developers to leverage their existing web development skills (Flash, Flex, HTML,PDF, JavaScript, Ajax, etc.) to build rich Internet applications that can be deployed to the desktop. This session will examine how Adobe AIR applications can utilize PDF content alongside HTML and Flash. We will explore how PDF content can be interacted with using Adobe AIR functionality, integration, and scripting.


Monday, October 1 2:00 pm - 3:00 pm Rick Borstein

Tuesday, October 2 4:00 pm - 5:00 pm Rick Borstein
------------

LiveCycle Digital Security and Certification

Skill: Beginner

LiveCycle, Acrobat

This session will focus on the persistent rights management and document security technologies in the LiveCycle Enterprise Suite. The components explored will include LiveCycle Digital Signatures ES, LiveCycle Rights Management (formerly Policy Server), and LiveCycle User Manager. The thrust of the talk will focus on LiveCycle ES as a service oriented platform for delivering key interactions with remote clients but will also showcase core capabilities and delve quickly into SDK's and API's for developers.


Monday, October 1 4:30 pm - 5:30 pm Duane Nickull

Wednesday, October 3 1:45 pm - 2:45 pm Duane Nickull
------------

LiveCycle ES: Building Applications

Skill: General Audience

LiveCycle

In this one-day intensive course, you'll learn how to develop, streamline, integrate, and protect composite applications across geographical and organization boundaries with Adobe LiveCycle Enterprise Suite. By enabling service-oriented architecture (SOA) and business process management (BPM), LiveCycle ES allows both business and IT professionals to visually assemble end-to-end processes that unify systems, people, business rules, and web services quickly and flexibly. The basics of SOA solutions and using rich Internet applications are introduced, followed by an in-depth walkthrough of designing, deploying, and monitoring processes. We'll cover the use of form guides and Flex, development of web services to build the composite application, and the use of business rules in processes.


Sunday, September 3 09:00 am - 5:00 pm Bob Bailey
------------

LiveCycle Rights Management ES: Its Purpose, Scope, and Integration with Various Technologies and Formats

Skill: General Audience

Connect

In this session, we'll provide an overview of Adobe LiveCycle Rights Management ES and how it is used to protect content. Afterward, the session will focus on some common integration tasks, including integration with enterprise content management (ECM) software, product lifecycle management (PLM) software, authentication environments (such as ActiveDirectory and LDAP), and multiple file formats. Topics will include Rights Management Customer Configuration and architecture, integration strategy, integration points, and open-source products.


Monday, October 1 3:15 pm - 4:15 pm Shashi Rai

Wednesday, October 3 11:00 am - 12:00 pm Shashi Rai
------------

Pimp My PDF

Skill: Intermediate

Acrobat

Learn about developer interfaces, JavaScript, custom stamps, multimedia, and unconventional uses of form fields in Acrobat 8 to bring your documents to life and/or build Acrobat into your mission-critical application


Tuesday, October 2 2:45 pm - 3:45 pm Thom Parker

Wednesday, October 3 3:00 pm - 4:00 pm Thom Parker
------------

Realizing SOA Enterprise Architecture with LiveCycle ES

Skill: Advanced

LiveCycle

This session will walk through LiveCycle Enterprise Suite, a first-class implementation of the OASIS Reference model for SOA. We'll illustrate the overall architecture and major component groupings, including the core service container and service invocation layer. From there, the session will discuss the various architectural methods in which LiveCycle could be integrated into both front-end and back-end office systems, covering the "out-of-the-box" mechanisms available from LiveCycle ES for integration using e-mail, SQL, messaging, and web services. Also covered are more advanced use cases through component development, scripting, connectors, and leveraging existing middleware.


Monday, October 1 3:15 pm - 4:15 pm Charlton Barreto, Michael Moore

Tuesday, October 2 4:00 pm - 5:00 pm Charlton Barreto, Michael Moore
------------

SAP Interactive Forms by Adobe

Skill: General Audience

LiveCycle

Learn how a leading edge enterprise streamlined their processes by automating forms workflows with SAP Interactive Forms by Adobe, a key component in the SAP NetWeaver SOA platform. SAP Interactive Forms by Adobe allow the elimination of paper forms processes and enable users (regular and ad-hoc) interact with SAP back-end software in a document-centric workflow. Based on PDF document technology, they allow users enter and manipulate SAP data online or offline and on any platform through the ubiquitously deployed, free Adobe Reader.agent channels, improving agent productivity and loyalty.


Wednesday, October 3 9:30 am - 10:30 am

Wednesday, October 3 3:00 pm - 4:00 pm
------------

The Future of PDF and Standards

Skill: General Audience

Acrobat

In this session, we'll cover the details of Adobe's January 2007 announcement that it will submit PDF to the ISO as a public open standard. We'll also discuss the strategy of having multiple subsets of PDF also be ISO standards (PDF/A is ISO 19005-1 and PDF/X is ISO 15930-1). We'll also introduce Mars, an experimental, XML-friendly serialization of PDF introduced by Adobe, and discuss it within the context of the standards initiatives.


Monday, October 1 11:30 am - 12:30 pm Jim King

Tuesday, October 2 4:00 pm - 5:00 pm Jim King

------------

Adobe on AIR tour 2007 Vancouver. Ted’s Porsche upgrade / Nitobi rocks da house!

Friggin Awesome! Sharks with Friggin laser beams!! A jam session in a sauna?

The 2007 Adobe on AIR Bus Tour is now on its third city stop (Portland). This tour will keep the bus driving all summer long so check it out when they come to your town. This is one show you don’t want to miss. It reminded me of my old rock and roll days touring in a metal band. Of course there are some differences.

First – the guys on the bus play Guitar Hero rather than real instruments. Kind of cool given the instant gratification but as an accomplished musician (you can download my latest music for free here), I couldn’t bring myself to try it. Besides, you need long hair to really be a guitar hero right? I seemed to have thought so back in the 1980s (yes - that is me on the left):



Second – they don’t have to lug Ampeg 8x10 cabinets, Marshall Stacks, and drum kits up three flights of stairs. Trust me – this is a good thing.

They also have bloggers and other new media rather than traditional paparazzi. The media shape of the world has changed forever. This is also a good thing.

Last night the bus stopped in Vancouver, my home town. The venue was pretty surreal. We were in a greenhouse on the third floor of a downtown bar. I am not sure what rocket scientist built this without air conditioning, but last night was very hot. Finnish sauna makers should have been there to take notes.

The crowd was awesome! Vancouver developers and architects came out in droves and stayed for the entire five hours. Even the girls at the bar got into the act. Here is one wearing a Nitobi sticker.



Before the event, fellow Porsche owner and Adobe Evangelist Ted Patrick took me up on my offer to let him drive my Porsche 911 Twin Turbo with all the Ruf accessories. As you can see by this photo, Ted now wants to upgrade his Boxster. Ahh – there is no substitute! Non-Porsche owners will not understand this.



Anyways, the crowd on hand were awesome! Here is a shot from halfway back when a ton of people still could not get in the room. Standing room only. Mike Chambers, Kevin Hoyt, and Mike Downey all gave top-notch presentations which the developer crowd loved. Being on last, I was worried that there was going to be no way this crowd would stay here five hours but they did.



Then Andre Charland got up and blew everyone away. Nitobi's two demos and code samples include a Mac style dock with magnified apps built in AIR and a SalesForce.com offline AIR application with synch capabilities. The scary thing is both of these were written in so few lines of code. Andre is a genius and has the ability to consistently come up with clever little apps with his cohorts James, Alexei and Dave.

I am actually very surprised that Nitobi still exists as a stand alone company. I personally think they are the #1 acquisition target in the tech sector today. Profitable, on the leading edge, four evangelists and probably the coolest corporate culture in the industry ('Dre claims he got in 60+ days in Whistler last season ;-). DISCLAIMER: I am on the Advisory Board of Nitobi and have a financial interest. In the interest of transparency, I am following Redmonk's lead on my blog and disclosing any conflicts of interest to help readers come to their own conclusions.

Andre then proceeded to have several beers and make funny faces in front of cameras while showing off his new iPhone.



He was immediately joined by others:



Eventually even Ross Ladell (Blast Radius) and Adobe's own Suzanne got into the fray:



I'll leave it to your imagination what happened after a few more drinks in the hot greenhouse.

Anyways, I went on last trying in vain to measure up to the others and managed to squeak out a 20 minute summary on Adobe's technology platform architecture, showing its relevance to Web 2.0, SOA etc. As promised, the slides are available here. I only presented the first 15 or so due to time, but I will be recording a session with these later in the month for public consumption.

Monday, July 09, 2007

Wanted - lawyer in China to sue spammer ZXData

I guess with every success comes a dark side. Spammers from China have targeted my blog. The latest is a large series of spam attacks comes from a company called ZXData. The Whois reveals ZXData is:

Domain Name: ZXDATA.COM
Registrar: XIN NET TECHNOLOGY CORPORATION
Whois Server: whois.paycenter.com.cn
Referral URL: http://www.xinnet.com
Name Server: NS2.XINNET.CN
Name Server: NS2.XINNETDNS.COM
Status: ok
Updated Date: 18-jun-2007
Creation Date: 13-apr-2006
Expiration Date: 13-apr-2008

The key contact is:

cuijie
yichuan shanghai
shanghai Beijing 200040
CN
tel: 56528808
fax: 56528808
8112318888@sohu.com

I am willing to send a lawyer money who can do something about this. These morons are causing me so many headaches. I have even contemplated turning comment moderation on but given I am not able to get to comments fast enough, this would stiffle the interactions with this blog.

ZXData are obviously not smart nor are they particularly creative. Spamming me with links to falun gong and pornography do not impress me and will not entice me to do business with them.

I would ask that everyone who reads this and is pissed off take the time to email the person (click here to start - 8112318888@sohu.com) to tell them what they really think.

Lawyers in China - please send me proposals outlining how you can go after this spammer. They have caused me a great loss in productivity and I wish to recover it.

Friday, July 06, 2007

iPhone support for Adobe Flash

At least one person seems very sure that the Apple iPhone will support Adobe Flash. As reported by Macworld in the UK, "Apple will introduce built-in support for Adobe Flash on the iPhone in the next couple of months".

I personally cannot confirm or deny this is true (thanks for all the emails BTW). We'll just have to wait and see.

Adobe MAX 2007

LiveCycle Developers:

During Max 2007, we will be having a full on Boot Camp dedicated to LiveCycle with some Flex/AIR! This will be a great opportunity to get questions answered and learn more about what is possible in terms of the new LiveCycle ES platform. This is in addition to all the other Enterprise and Collaboration track sessios at MAX 2007 in Chicago Sept 30-Oct 4.

http://www.adobemax2007.com/na/sessions/ (you can filter the Enterprise and Collaboration track)
***************************************************************************
Description:
Boot Camp for LiveCycle
Skill: Advanced
LiveCycle, Flex

Write code together with the LiveCycle development team in this three-hour collaborative session. Boot Camp provides a mixture of short presentations, workshops, and free-form coding. Make sure to bring your laptop, your best questions, your most desired features, your coolest projects to share, and be ready to learn something new.
**************************************************************************

As co-owners of the track, Charlton and I would like to request input on the following:

1. If you have a specific question or topic you would like to share at the LiveCycle Bootcamp, please ping us with it. You do not need to prepare any slides, just come with your laptop, a USB key, and your code to share with others. Topics we are currently seeking are:
- JavaScript tricks and techniques for PDF documents
- writing and deploying SOAP-based Web Services in LiveCycle ES
- workbench tricks and techniques

But we are willing to entertain anything LiveCycle-related.

2. If you are unable to present, please indicate some specific topics you would like to see covered and we will seek community leaders to come in and showcase their skills.

Remember - this is *your* event. As LiveCycle developers, this is the premiere place in 2007 to interact and mingle with the best of the best of the LiveCycle crowd. You can meet the team who built LiveCycle, talk to the architects, have a beer with the developers, and share input for the future of the product!

I hope to see you all at MAX!

Wednesday, July 04, 2007

Totally Free Stuff from Adobe! (Developer Resources Galore)

The latest from our guru Craig.

AIR:
Introducing Adobe Integrated Runtime (AIR) Beta (Mike Chambers, 6/11)
Enter the Adobe AIR Developer Derby (Adrian Ludwig, 6/11)
Six must-see Adobe AIR sample applications (Rob Christensen. 6/11)
Developers speak about Adobe AIR (video Parts 1 , 2 , and 3 , 5/21-6/4)

Flex:
What’s new in Flex 3 (Matt Chotin, 6/11)
What’s in store for Flex 3 Beta (video, Steven Heintz, 6/11)
Attend Flex events and happenings in your area (Mike Potter, 6/4)
Invoking .NET objects using the Flex RemoteObject API (Mark Piller, 5/14)

LiveCycle Data Services/Flex:
Flex Store sample (6/4)
Random Walk Component sample (6/4)
Automation API samples (6/4)

ActionScript
Revised ActionScript Developer Center (May 29)
AVM bytecode overview (PDF, 401K) (May 29)

Mobile
Developing Flash Lite for BREW applications for Verizon Wireless (Ryan Unger and Zak Dabbas, 6/4)
Seminar: Testing and porting Flash Lite content with Device Central (Paul Lamonby, 5/14)
Extending Flash Lite 2.1 features with Flyer (Felipe Andrade, 5/28)

LiveCycle
New resources, Quick Starts, and samples for LiveCycle ES (6/4)
Configuring SSL on IBM WebSphere 6.0x – Part 3: Enabling the client to trust the server's SSL certificate (Steve Forrest, 5/21)
Sample: Performing an LDAP query for role resolution (Valerie Snider-Lynch, 5/14)

ColdFusion
ColdFusion developer security guidelines (PDF, 564k)

CS3
Creating a custom rich text editor Flex 2 component with Fireworks CS3 (Darrell Heath, 5/21)
Contact management application in Dreamweaver – Part 3 (Razvan Cotlarciuc, 5/21)
Managing websites with multiple layouts in Dreamweaver (Adrian Senior, 5/14)
Examining the Puzzle Game sample application in Flash (Valerio Virgillito, 5/14)
Using the 3D Rotate command in Fireworks CS3 (Aaron Beall, 5/14)

Acrobat
Acrobat 8.1 SDK documentation now available (5/23)
New Acrobat 3D Developer Center (5/23)
Digital signatures in Acrobat (PDF, 452k) (5/21)
Tutorial: 3D/Forms interaction (PDF, 1.2M) (6/4)
Tutorial: Controlling animations (PDF 3.7M) (6/4)
Tutorial: Smooth camera rotations (PDF 1.4M) (6/4)

Reader
Deploying Adobe Reader (PDF, 266k) (5/21)

RoboHelp and Captivate
Adobe RoboHelp 6 co-stars with Adobe Captivate 2 (5/14)

Friday, June 29, 2007

The Evangelist Dialogs: Final Entry

So this has been quite the trip. If you've been following along, you'll understand why I am tired right now. Here are the final facts and statistics:

- Airplanes dumped me in 9 cities (Vancouver, Korea, Singapore, Hong Kong, Bangkok (only en route), Bangalore, Singapore, Sydney, and San Francisco (only en route)...

- on four continents...

- in 8 countries...

- in 12 days.

- Approximately 20-30% of total time was spent in the air.

- I gave about 20-25 talks (various sizes).

- I probably spoke to 700-1000 people directly.

- And I had two stretches in which I was awake for up to 36 hours.


Anyone still want to be an evangelist?

Since Bangalore, I went to Sydney via Singapore (again). While en route I managed to photo this beautiful sunrise from our airplane.



The Sydney leg was very useful. A lot of people were really happy to get the Web 2.0 and SOA talk. The realization that Adobe has been responsible for providing great tools for the Internet since its inception really drives home the point that we are the one to make Web 2.0 happen. For the enterprise crowd, the realization that they want the patterns for Web 2.0 for the enterprise is something they are glad Adobe "gets".

Sydney was pretty cold and rainy so I was happy to leave and get back home. Now it is time to sleep and get back into my normal time stream.

Saturday, June 23, 2007

Evangelist Dialogs – Day 7: Walled Gardens and the Best Cocktail in the World in Bangalore

We did three more talks today. It was mainly journalists but also some local users groups and architects. The talk that explains how to decompose Tim O’Reilly’s Web 2.0 examples into design patterns using the Mackenzie-Nickull Architectural Patterns Meta Model template seems to be very popular. There are a lot of people anxious to read the book when it comes out.

Back at the hotel, Prayank and I stopped for a drink at my hotel (the Leela Palace). I couldn’t decide what I wanted so I asked the bartender to invent a new drink. He came up with a really cool invention. When I asked him what it was, he said he just invented it and asked me my name. I told him and he proudly declared that the new drink is “The Duane”. The inventor, Mr. Ramalingham from the Library Bar at the Leela Palace, also started getting other customers ordering it who were sitting near me. If you go to Bangalore and come to the Leela Palace, ask for "The Duane".



Trust me – this guy is a genius!!! The recipe is as follows:

Grey Goose – 45 ml
Malibu – 30 ml
Pineapple Juice – 120 ml
Orange Syrup – 80 ml
Raspberry Syrup – one dash
Glass – tall glass
Garnish – Pineapple cone with cherry

IMO – this is the best cocktail in the world.

Traffic continued to be bad in Bangalore. Prayank and I just had to laugh it off as we dodged cows, a guy riding a horse, pedestrians and about 45 different types of wheeled vehicles.



Right now it is time to head to the airport to get back to Singapore, then on to Sydney. Further away from home.

Thursday, June 21, 2007

Evangelist Dialogs Day 5 and 6: India

I arrived in India late at night to find what appeared to be complete chaos. After getting my luggage, the private car picked me up in what I can only describe as a non-contact demolition derby. The entire parking lot was jammed packed with cars all beeping horns at each other. The funny thing is that it is like adding bold text to emphasize a phrase. If you bold everything, you have emphasized nothing. The Indians use their car horns in Bangalore very similarly. To beep at everything is to beep at nothing (but it is much noisier).


Now just to clarify, I have been to New York, LA, Paris, Barcelona, London and Berlin. Traffic is bad in so many places but Bangalore takes the cake. The lines in the middle of the road and the traffic lights hanging above the streets are meaningless to those who use the roads. The poor lines lie in the road in an utterly futile attempt to mark lanes, impassioned in their quest and ignored universally. Nevertheless, what a blast!! We got a great driver. He got us everywhere ahead of schedule.

At our visit to Fidelity, I received a great honor. I was asked to light a candle in front of a huge crowd with the other guest speakers to inaugurate their architects convention. There were at least 250 architects present. The talk went very well too and I found the crowd very easy to relate to as architects just get the topic of design patterns, models and reference architecture for Web 2.0. The questions were bang on.

After Fidelity, we grabbed our driver and raced across town, dodging 3-wheeled taxis, cows, pedestrians and potholes that could have swallowed a hippo.

The second talk at Infosys was really well received too. The architects at Infosys were totally amazed to see that Adobe has a really good enterprise story and we have baked SOA into our new LiveCycle ES architecture. I can’t wait to share this with the LiveCycle team back home. Infosys definitely is a first class company.

Today, we meet with some press and bloggers in addition to a few side meetings. Should be fun.

More later.

Wednesday, June 20, 2007

Evangelist Dialogs Day 4 - Goodbye Hong Kong

..and Hello Bangkok/Bangalore India. Traveling all night is fun, really! NOT!!

My suspicions are confirmed; Cathay Pacific is first class royale! Check out my seat/bed/cocoon.



Today was another frantic day of early rise and nonstop presentations and meetings. From the start of the day it was end-to-end presentations with the exception of about 18 minutes where I had a chance to eat some food. Zip2Zap showed off a great demo of a really cool Web 2.0 application for financial services built with Flex. The Hong Kong IT crowd, like the crowds in Korea and Singapore, seems very eager to adopt the latest in Web 2.0 technologies. There is a great infectious air of enthusiasm and a “let’s do it” attitude. No wonder this region is booming economically. Lots of smart developers and lots of open minded IT managers who seem to understand that the core design patterns of SOA and Web 2.0 are essential to the future of their enterprises. This makes it very easy to deliver a compelling message about why LiveCycle ES is a must have for any company serious about being in sync and not losing its edge to the competition.

I have been asked a lot about Microsoft Silverlight and JavaFX from Sun. While I have not used either of these technologies, I wouldn’t compare them directly to AIR (the technology formerly known as Prince… oops. I meant Apollo) . What is clear is that the future of RIA development is going in the same direction. The fact that Adobe, Sun and Microsoft have all started carving out a niche in this area seems to indicate it is the place to be. Of course, Adobe has the advantage being the incumbent player in the Enterprise 2.0 space (Clarification: to me, Enterprise 2.0 is the adoption of the design patterns of Web 2.0 by enterprises). Some analysts might cast it differently so ask for a definition when talking to someone.

On a personal note, I really miss my family now. My son has a new mountain bike needing some assembly which I need to be doing but this trip pays the bills. My wife and two young daughters are hard to be without. Ahh – one more week till I return.

Hong Kong has to be one of the most beautiful cities in the world. Check out this photo from the Adobe office:



No rest for the wicked. As I write this I am on a plane bound for Bangkok then on to Bangalore. My less-than-a-week-old 15” MacBook Pro has some serious display issues too. I went with the newer sharper display. It seems to be a hardware issue and it is making it hard to do presentations. The job of an evangelist requires nerves of steel. When things go terribly wrong with less than 3-5 minutes before starting a presentation, you need to have a backup plan, remain cool, and always do what needs to be done to do the job.

Bangalore will be another day of panic but I am also looking forward to spending more than 18 hours in one country. I get in after midnight and have to be ready to leave the hotel by 8:00 AM. So tired…. Need sleep.

More to follow.

Tuesday, June 19, 2007

Evangelist dialogs - day 3

Arrived in Singapore late last night and got busy preparing for the next day. Schedule is nuts! Check this out:

7:00 am – up for breakfast
8:30 – leave hotel (check out)
9:00 – 10:00am: Room set up. Computer check.
10:00 am -12:00 pm: Partner briefing
10:00 am: Arrival of Partners / Refreshments
10:15 am: Welcome
10:15 – 11:15 am: Livecycle ES presentation
11:15 am -12:00 pm: Q&A
12:00 pm: lunch (working lunch)
1:00 pm: Arrival of Media
1:15 pm: Welcome
1:15 – 2:15 pm: Livecycle ES presentation
2:15 – 3:00 pm: Q&A
3:00 – 4:00pm: Refreshments / Side one-one interviews
4:30 – leave for airport.

It is now 5:15 and I am sitting in an airport lounge. On the way out of the city I saw this amazing statue. It is either going to be the world’s largest Ferris wheel or the world’s largest bicycle wheel truing stand. Either way – well done Singapore! This country is also very cool! Everyone is really energetic and positive. If only there was a way to export this energy to other areas of the world.

Tonight I fly to Hong Kong. After two days of luxury aboard Singapore Airlines (my gawd – has it really only been two???), tonight I see what Cathay has to offer for first class.

Sunday, June 17, 2007

The Evangelist Dialog - Day 2 (Seoul - Singapore)

Seoul is such a beautiful city. When I was here 8 years ago, the smog and traffic were so bad I could barely see three blocks. Today is a beautiful day, filled with sun and clean air. The day was very busy. All day long talk, listen, talk, listen. Here are some interesting things. My fellow blog brethren have informed me that the Korean Flex user group community has over 6500 members! They also asked me to come back and party with them with some cool Korean liquor called Shoju (spelling???). These guys were fun.

I just about missed my plane thanks to a minor fender bender which slowed freeway traffic to a crawl. Managed to make it by about 3 minutes. Once again, Singapore Airlines exceeded every single other airline.

Flying to Singapore, will be there soon.

.. and now I am in Korea!

Anyung ha se yo! Je erumun Duane yim ni da! Ju nun Canada esu whatsem ni da.

I am now in Korea and I love everything about this country. In South Korea, about 70% of the land is covered with mountains and Seoul itself is a world class city with a world class tech community. I am a bit haggered but glad to be here again.


Being an evangelist for Adobe Systems definitely has its benefits. At the airport I got picked up in an Equus Limo (made by Hyundai). The car is amazing - full on Luxury. At the Hotel Intercontinental, there is a pyramid sticking out of the ground reminiscent of the Louvre in Paris where I was 3 weeks ago.




Tomorrow I will be meeting some of the top bloggers and top press in Korea. It will be an honor to meet with luminaries such as Ik-Jong Kim (Electronic Times), Hong-Seok Lee (Digital Times), Kyu-Hee Cho (eWeek Korea), Management & Computer magazine's Sang-il Lee, Computer World's Jeong-eun Kim, Jun-Kee Park or Monthly w.e.b., Electronic Information Times' very own Jeong-Hyun Heo, Computer Times' Jeong-Hyun Kim and several other top notch publications. This country just *loves* technology.

I am really keen to meet my fellow blogosphere devotees too. A special meeting has been arranged where I will get a chance to talk to Jun-Gyun Bae (Flex Adobe Community Champion), Ho-Sung Shin (Flex Adobe Community Champion & one of the brains behind the Dongbu Life insurance Flex project), Man-Young Lee (Flex Adobe Community Champion, BAM, Java and BPM master), Kwang-Nam Hur (Flash Adobe Community Champion), Joo-il Yang (blogger extraordinaire and Flash Designer), Chang-Shin Lee (top flight Java guy), Tae-Wan Kim, Dong-Ho Lee, and Sung-Hoon Choi among others.

Many people who talk to me think the evangelist role is only about talking, promoting etc. It is also about listening. Tomorrow, while I might be giving two presentations, most of the day will be focused on listening to what Koreans want from Adobe and what they think we need to be doing in the next 1,3,5 and 10 years. After all, they are the real users and the ones who are instrumental to our success.

Time to grab some sleep and ready myself for a power day tomorrow. here is the schedule:

7:00 - Up and get breakfast
8:00 - Pack up suitcase, leave hotel room
9:00 - meet local Adobe staff.
10:00 - 10:45 a.m. Pre-meeting with Interpreter (get set up for live concurrent translation into Korean)
10:40 - 11:00 a.m. Reception (I hope they have Tim Horton's)
11:00 - 11:10 a.m. Introduction to Press
11:10 - 11:50 a.m. Presentation (WHOOPS! Maybe I should write one before going to bed)
11:50 - 12:00 a.m. Q & A
12:00 - 13:00 p.m. Lunch
Session 2. Blogger Roundtable
13:00 - 13:10 p.m. Introduction
13:10 - 13:40 p.m. Presentation
13:40 - 14:20 p.m. Open Forum
14:20 - leave for airport (60 minutes via limo)
16:30 - on flight bound for Singapore
21:45 - arrive Singapore
22:00 - clear customs, get bags
22:30 - get to hotel
23:00 - new blog entry and prepare for next day.

This is the reality of Technical Evangelism. If you think you've got what it takes, email us - we have more jobs like this open!

Saturday, June 16, 2007

The Evangelist Dialog - Day 1 (Vancouver - Seoul)

A lot of people tell me I am lucky to be an evangelist for Adobe. Yes - I am but they often don't see the other side of the job. The tireless hours, long trips and endless interviews, press events, speaking engagements, conferences and more.

To illustrate what this job is like, I am going to publish a diary of the next 2 weeks during a trip. Today is Saturday. While most people have the day off, I am sitting at the Vancouver international Airport about to leave for Seoul, Korea. I am excited about riding on Singapore Airlines new 777 Dreamliner in first class. Heard a lot of good things.

I will hopefully arrive tomorrow at suppertime in Korea and get a chance to sleep before going to my first meetings.

TTYL

Tuesday, June 05, 2007

SEO - Search Engine Optimization Tricks

Consider this a gift if you are seeking to lead the search engine rankings with some newer tips and tricks. I used to do this for a living and have tried to stay current over the new technologies as they come out. SEO is generally much easier now that there are fewer search engines to target. Back in the good 'ole days we had to target multiple engines and change the code behind to be specific for each one.

I have a long history of working on search engine projects and feel nothing reveals tricks like building a search engine to see how it works. One project was the Initiative to evaluate XML Retrieval (which I was largely working with Universities on advance ontological and syntax mechanisms) while another one was the GoXML Contextual XML Search Engine launched in 1998, days after the recommendation was done. GoXML is still featured on PatentStorm.

SEO has little to do with indexing the content of a page nowadays. All that does is give you a starting reference point. The indexbot parses your page noting some particulars and provides you a weight with various terms.

The key metrics are:

1. Domain name matches search string (note – since hyphens and periods are removed during the webbots normalization process, things like www.ford.com are equal to www.f-or.d.com). Not many people know this since they do not write code to parse domain names. The hyphens are removed since not many people search on hyphens and the search engine index needs to be as efficient and lean as possible.

2. How many relevant sites that point at the site are very important. I showed some Adobe colleagues how to use this to our advantage to beat out Microsoft and Sun for the term “Enterprise Developer Resources”. All I did was ask that everyone make a signature to their email that said “Adobe Enterprise Developer resources – http://www.adobe.com/devnet/lifecycle” and then go about our normal business of posting to public threads. The index assumed that we must be relevant given the other top sites seemed to have links pointing at Adobes site. In reality, these were only archived email threads with the signature being treated as a link. All the Search Engine saw was “-links to -> Adobe.com. Within 6 weeks we beat out MSDN, BEA, Sun, IBM etc. and are still #1
http://www.google.com/search?source=ig&hl=en&q=enterprise+developer+resources&btnG=Google+Search

3. How people click on the top ten search results in Google. Google uses an adaptive algorithm which is a variation of the GoXML algorithm of which I co-wrote. We had 51 unique patent points in 1998 on this. When you click on one of the top ten results, Google simply tracks the result via a pass through. You can see this in action by doing any search on google, then right clicking the link and copying it. Where you see www.adobe.com/devnet/livecycle/ or get that URL if you copy/cut, when you right click and copy link, that actually translates to http://www.google.com/url?sa=t&ct=res&cd=1&url=http%3A%2F%2Fwww.adobe.com%2Fdevnet%2Flivecycle%2F&ei=JzZkRvzMEZqUgwPkmNmKBw&usg=AFQjCNGx7iKEUn38Kcfk8woBnWtcNueL9g&sig2=ope-x2wZBZhBXtNlk_fj0w

A case study is “Architectural patterns metamodel”. Matt Mackenzie and I wrote a variation of the gang of fours template for architectural patterns using UML 2.0 and linking known uses. It is now ranked #1 since it is the most used template by many software architects. See http://www.google.com/search?hl=en&q=architectural+Patterns+meta+model&btnG=Search

Note that this is referenced by the unique IP address bound form the incoming HTTPRequest header so you cannot spoof it without additional tricks. Since you have to first receive the call back code from google to build the new outgoing request in order for it to register, there is almost no way to spoof it ;-)

4. The meta tags are indexed and useful but only up to a certain point. Many people who have no clue how code works try in vain to do things like META Content=”mountain, bike, mountain bike, mountain bike clothing . Etc. The truth is that the meta keywords are parsed and normalized stripping out both the commas and spaces except for one space or other delimiter to separate the array. All the indexbot see from the above example is “mountain:bike:mountain:bike:mountain:bike:clothing” Any word repeated is generally disallowed completely and interpreted as spamdexing the bot.

5. Any keywords that do not appear in the body in plain text at least once are heavily discounted unless the core content of the page has no visible words, then the indexbot defaults to what it has to work with to establish the baseline weights.

6. Any keywords that appear more than approx. 7% of the total word count for the body are discounted as spam. (Note - this cannot be verified lately but it used to be true in the early part of the decade).

7. Words in large fonts near the top of the page and in the page title weight very heavily. People used to trick the SE’s by making this text the same color as the background. The human would not see anything but the indexbot would. The SE’s caught this trick early on and made a cross reference of colors to nab perpetrators. What many people do not know is that you can beat this by using javascript which the indexbots do not see. A browser’s parser hands this off at a later stage to the rendering engine so they might catch this later. I suspect that Google should catch this trick in the near future.

8. Google overlays the search matrix with an ontology classified by a first order of logic that separates all results into a modal array. The ontological nodes are also ranked at the meta level based on the preceding and mix into the pages dynamically but within the constraints defined by their librarians. That is why a term like “washington” will have results for the president, the state, the university, the actor etc all in the top ten. One way to trick this is to find the least common context then build a site to get #1. Once you have done that, replace the words for the context of your choice and you will usually stay in the top ten since the visibility draws

I have other tricks but have never failed to get any site less than 3rd for the terms including “mountain bike”, aromatherapy, whistler rentals, enterprise developer resources and many others...

Oh yeah - these are the tricks I am willing to share. I am still keeping some others as closely guarded secrets. It's not hard to figure out since it is all based on simple logic. Enjoy and good optimizing. Post your success back here if you find this helped.

Tuesday, May 29, 2007

Gas Prices are not high - stop whining already!

Okay - gas at the pumps is now about $3.50 USD per gallon. Seems steep right. Well, it's not really out of line. Sure in 1980, gas cost only $1.13 per gallon. That was 1980 people!!! You could also buy a house for under $100,000 and a car for under $8,000. In inflation adjusted figures for 2005, the real price was $2.86 (based on US Census figures for inflation adjusted prices). In 1955 gas was only $0.27 per gallon. In a time where a brand new house AND car could be bought for under $10,000, this would be the same multiplying the whole equation by ten. Hence Gas goes from $0.27/gallon to $2.70 per gallon and the car AND house goes from $10,000 to $100,000 USD. If you think gas is to high at $2.70 per gallon, consider your range of options for buying a new house and car in the US for under $100,000. Can't really to it. the US national median house price is actually about $220,000 as of August 2005.
If you raise the price of gas to be in alignment with housing and new automobiles, it should be around 2.2 times the $2.70 in terms of 1955 inflation adjusted dollars or approximately $6.00 US per gallon. Coincidentally, that seems to be what many other countries pay.

On top of that, the US has one of the lower prices for gas at the pumps world wide. See this graph to see how really upset people would be if placed in a country like Norway where gas is over $6.00 USD per gallon. Us Canadians have been paying $1.35 per litre at the pump (approximately $5.00 USD perUS gallon). The Dutch pay $6.48 per US Gallon!

The price of gas has largely remained stable over the last 40 years and in terms of inflation adjusted dollars, has not become a luxury. Yes - in the last few months we have witnessed US prices that appear to almost approach the median price the rest of the world pays but we have not yet even seen the USA get into the expensive half of the chart. In short, the US still has some of the cheapest gas in the free world.

Also - consider that higher prices might have positive effects. Perhaps even less people on the roads in their own cars, more people car pooling or sharing. If higher prices make people think, let's think about how we got into a position where the gas and oil companies have the power to unilaterally raise prices over us and screw us in the pocketbook. We got ourselves into this position by becoming Dependant upon it in the same manner drug addicts feel the financial wrath of their dealer.

What I would really like to see? I would like to see a real Energy policy in the USA. The US an dCanada could lead the world in alternative energy innovation and use if the right people take control. Get rid of the brats who still falsely consider Hydrogen as a viable terrestrial energy storage device and start real research into the net energy capabilities of new systems. My great Uncle Stig runs the world's largest and cleanest bio-mass energy conversion plant in Finland. We shoudl be doig the same here. The California wind energy policy is a good move. Solar works.

And I would like to see more people stop and think before winging on about how costly gas is. it really isn't.

Wednesday, May 23, 2007

SOA : the real goods

This series on Youtube called "Greg the Architect" is brilliant. it left me ROTFL..

Monday, May 21, 2007

Adobe MAX 2007 info

The amount of work going into MAX 2007 is unbelievable. Preparing our annual event for North America, Europe and APAC regions is a monumental task to take on. To date, I have about 500 emails from various parties (each taking a minimum of 5-10 minutes to read and respond to or about 50-100 hours) plus almost a full GB of materials to go over. It takes a serious commitment, not just from the track leaders but from all involved. Rom Portwood and Sarah Eaton are putting their hearts minds and souls into MAX 2007 and we have tons of community involvement planned this year.

Some of the other evangelists on our team have done the same and from what I have seen so far, MAX 2007 will not be something you want to miss. Ted Patrick, Ben Forta and I have asked for a received permission to do a full blown code camp style event. Anyone reading this that would like to be involved int eh code camp, please contact one of us and we'll figure out a way to fit you in.

The MAX 2007 website will be going live soon with registration and the content.

Sunday, May 20, 2007

A must read entry to music lovers

Ajit's entry on Open Garden's really spoke to me. Not just because the idea fits in with the model of Mix2r.fm for the next generation of music. He nails the ideas that the record industry has to understand and how fans are attracted to music for more than just the bits and bytes that make up the files we transfer.

Technoracle (a.k.a. "Duane's World"): Buying a hot water heater? Read this first. Don't buy Rheem

Rippoff Report!!! Buying a hot water heater? Read this first. Don't buy Rheem: "http://www.ripoffreport.com/reports/ripoff17495.htm"

Technoracle (a.k.a. "Duane's World"): Buying a hot water heater? Read this first. Don't buy Rheem

Technoracle (a.k.a. "Duane's World"): Buying a hot water heater? Read this first. Don't buy Rheem

Friday, May 18, 2007

Buying a hot water heater? Read this first. Don't buy Rheem

I want to share a personal experience with anyone considering buying a hot water heater in North America. When my wife and I moved into our house in Vancouver, we soon found we needed a new hot water heater. After much choice, we went with a Rheem brand since it was sold to us as a high quality, North American brand with a 8 year warranty. Were we ever taken for a ride though. The warranty turned out not to be worth the paper it was printed on. While the warranty did state it was "limited", we were lead to believe by Hillcrest Plumbing that if anything happened to our hot water heater, it would be replaced within the warranty period. After all, what does warranty mean? According to Rheem, even today you are protected on parts but don't be fooled. They are unscrupulous and are lying to you.

Our water heater let go and we had to call Hillcrest during off hours. They told us that Rheem and Hillcrest are no longer honoring their written warranties and due to a change in design and rules , would not be able to honor their warranty on parts. WFT??? This is a clear case of a large multi national company imposing a unilateral change on a contract due to their own lack of foresight. We, the people are being ripped off.

My advice:

1. Do not believe anything Rheem promises in terms of warranty. They lied to us and did not honor their own written warranty. This website could just as easily be lying.

2. I will also never do business with Hillcrest Plumbing again. I urge you to consider this when looking for a plumber. Get references from any plumber. By contrast, there are lots of reputable firms like Roto Rooter and others who have never ripped us off.

3. Rheem Canada also seems to handle the Ruud brand. Be wary.

4. If you are a contractor looking for a line of water heaters/holding tanks
to carry and install, consider how your customers will feel about you if this happens to them. It will cost you money if too many people experience lies like this.

If you are one of the 10,000 people who read this blog every month, please pass this on to others in North America.

Friday, May 11, 2007

Stupidity knows no bounds!


I am speechless. I am not even sure where to begin addressing this. Someone at Vancouver International Airport actually convinced others to get a budget for a project to tell people how to bring food on an airplane. They developed a small logo for their project. Do they really think we need signs to help us? Did they envision that people are too clueless to figure the three steps out for themselves (1. buy food; 2. ask for it "to go", 3. bring it on plane)??? WTF??? These signs are everywhere.

This is one project I am glad I was not in any meetings for. I would have strangled someone.

Duane's World 2007 Java One "Coolest in Show" award

Every year I blog after Java One and recognize one company, demo, entry, exhibit that is better than all others. In 2006, this award went to a robotic Lego and Java demonstration. This is never an easy task since there are so many cool things at Java One. This year is no easier. After much internal debate and watching the "wow" factor from peopel seeing things for the first time, I bestow the 2007 Duane's World "Best in Show" award to the Java powered helicopter. Das ist ein sehr gute Hubschrauber!



Runners up were the Sun SPOT (Small Programmable Object Technology) and the Quebec University students Java submarine. the latter failed to make tops given they have not yet included an adaptive algorithm to learn and re-program thrust bursts based on Causality Event Programming models (The thrusters usually over-compensated in attempts to level the device). While it is not "kinderspiele" (Child's play), it could be done with minimal effort. Quebec has a long history of great technology and good hockey goalies so I look forward to seeing what they bring next year.

Disclaimer: I excluded the Flex, Apollo and Java PDF code from Adobe.

Thursday, May 10, 2007

Java One 2007 source code and slides

Java One 2007 is full on! My favorite was the helicopter but I also can't wait to start developing with the SunSpot devices. I think I am going to build a solar tracking device.

Anyways - thanks to all of you who came to my talk. I was overwhelmed with the great reception and applause and felt really humble to be appreciated by such an esteemed and knowledgable peer group. I don't use Java every day so I was happy to see all the code I wrote for you compile the first time. Felt like I dodged a bullet.

Here is the first class (DuanePDFClass2.java). You will need to download the XPAAJ.jar file to make this work. The other class is directly below. You should also know that we are moving towards the XML friendly version of PDF ("Mars") which will allow any developer to work with PDF XML formats using the XML parser in their native language. For the long term, this is a much better solution than us developing libraries for each and every programming language.

import java.io.*;
import java.util.*;
import java.awt.image.DataBuffer;
import com.adobe.pdf.*;

public class DuanePDFClass2 {
public static void main(String[] args)
throws FileNotFoundException, IOException

/* Make sure we have the correct args.length() and call PDFExtract() */

{
String inPdfName;
if(args.length != 1 )
{
System.out.println("\nCommand line format: java classname pdf-file");
return;
}
else
{
inPdfName = new String(args[0]);
PDFExtract(inPdfName);
}
}

public static void PDFExtract(String inPdfName)
throws FileNotFoundException, IOException
{
System.out.println("\nOpening PDF with DuanePDFClass2...");
PDFDocument doc = null;
boolean b = false;
FileInputStream inPdfFile = new FileInputStream(inPdfName);
try {
doc = PDFFactory.openDocument(inPdfFile);
} catch (IOException e) {
System.out.println("Error opening PDF file :" + inPdfName);
System.out.println(e);
}
if(doc == null)
System.out.println("Cannot open PDF file : " + inPdfName);
else
System.out.println( inPdfName + " was successfully opened.");

System.out.println ("Document Version = " + doc.getVersion());

System.out.println ("PDF is " + doc.getNumberOfPages() + " pages long.");

/*Save PDF to file*/
System.out.println ("\nSaving document ... ");
int j = inPdfName.lastIndexOf(".");
String outPdfName = inPdfName.substring(0, j) + "_saved_by_Duane_at_JavaOne2007" + ".pdf";

InputStream inputStream;
inputStream = doc.save();
b = false;
try {
b = saveFile(inputStream, outPdfName);
} catch (Exception e) {
System.out.println("Error saving PDF file.");
System.out.println(e);
}
if(b == true)
System.out.println ("Document was saved to file : " + outPdfName);
else
System.out.println("Document was not saved to file.");

System.out.println("\nExecution of DuanePDFClass1 has finished.");
}
/**
method to save InputStream to a file.
*/
public static boolean saveFile(InputStream is, String filePath)
throws Exception
{
boolean retVal=false;
byte[] buffer = new byte[10240];
FileOutputStream outStream = null;
try
{
outStream = new FileOutputStream(filePath);
int len=0;
while (true)
{
len = is.read(buffer);
if (len == -1)
break;
outStream.write(buffer, 0, len);
}
outStream.close();
retVal = true;
}
catch (IOException io)
{
System.out.println("Writing the array of bytes into the file "
+ filePath + " failed.");
throw new Exception(
"Writing the array of bytes into the file "+ filePath +
" failed in saveFile");
}
return retVal;
}
}


Here is the second class which casts the input stream handed off by the Document factory class into a buffered stream reader and strips out the XMP metadata.

import java.io.*;
import java.util.*;
import java.awt.image.DataBuffer;
import com.adobe.pdf.*;

/* XMPExtractSample
* by Duane Nickull, Adobe Systems Inc. dnickull@adobe.com
* Copyright (c) October 25, 2006 - all rights reserved
*
* Use this at your own risk and don't whine/winge on to me if it doesn't work.
* You will need to have XPAAJ.jar from Adobe labs.
* Written and tested with JDK 1.5 on a mac w/osx 10.4.7

*/

public class XMPExtractSample {
public static void main(String[] args)
throws FileNotFoundException, IOException

/* Make sure we have the correct args.length() and call PDFExtract() */
{
String inPdfName;
if(args.length != 1 )
{
System.out.println("\nCommand line format: java DuanePDFClass1 pdf-file");
return;
}
else
{
inPdfName = new String(args[0]);
PDFExtract(inPdfName);
}
}

public static void PDFExtract(String inPdfName)
throws FileNotFoundException, IOException
{
System.out.println("\nOpening PDF with DuanePDFClass1...");
PDFDocument doc = null;
boolean b = false;
FileInputStream inPdfFile = new FileInputStream(inPdfName);
try {
doc = PDFFactory.openDocument(inPdfFile);
} catch (IOException e) {
System.out.println("Error opening PDF file :" + inPdfName);
System.out.println(e);
}
if(doc == null)
System.out.println("Cannot open PDF file : " + inPdfName);
else
System.out.println( "\n" + inPdfName + " was successfully opened.");

// Export the xmp metadata from the document
try {

//Call the PDFDocument object's exportXMP method.
InputStream myXMPStream = doc.exportXMP();

//Get the byte size of the InputStream object.
int numBytes = myXMPStream.available();
System.out.println("\nNumber of XMP Bytes found is " + numBytes + "\n");

// Read into a Buffered Reader Stream.
BufferedReader d = new BufferedReader(new InputStreamReader(myXMPStream));

// Iterate through the XMP object and print each line
String xmpLine;
while((xmpLine = d.readLine()) != null)
{
System.out.println(xmpLine);
}
// Find the Physical Memory Reference of the object
System.out.println("\nXMP InputStream is in physical memory at -> " + d);

//Create an array of bytes. Allocate numBytes of memory.
byte [] MDBytes = new byte[numBytes];

//Read the XMP metadata by calling the InputStream object’s read method.
myXMPStream.read(MDBytes);
} catch (IOException e){
System.out.println("it went really bad" + e );
}
System.out.println("\nXMP Extraction has finished.");
}
}



Friday, May 04, 2007

Web 2.0 Definition? What is the Web 2.0?

I have been writing a lot lately for an upcoming book on the topic of Web 2.0 with James Governor and Dion Hinchliffe for O'Reilly. During the process, we have done an amazing amount of research in an effort to quantify some of the patterns surrounding the concept. The work was actually quite intense and started with examining a single table put forth by Tim O'Reilly. The table illustrated examples of what was web 1.0 vs. web 2.0. Many people have struggled to define and understand "Web 2.0" At this point, defining it probably won't happen due to the fact that there are so many differences in what people think it is, however, anyone can mine it for knowledge. I personally don't see this as a problem since there seems to be a lot of consensus surrounding what is and is not web 2.0. While definition has possibly slipped away, the ability to share the collective knowledge on the subject has not. The knowledge of web 2.0 can be caught and expressed in architectural patterns and models. This blog post is a teaser of the upcoming book on that exact subject.

So what are "Patterns"? A pattern is a repeatable solution to a frequently occurring problem. The value of patterns is that it captures the solution knowledge independent of the implementation which then allows the pattern to be re-applied to other instances of problems in different contexts. An example of a pattern is to note the collaborative tagging (A.K.A. "Folksonomy") and commenting patterns on Flickr, then realize that the same mechanism can be used for video, audio, scientific research, news articles etc. Entrepreneurs in general should be very interested in this book. New start up ideas will be plenty abound.

We started with this diagram:



From each of these examples, patterns were distilled from the instance. The methodology left us with a huge collection of patterns that are documented and can be used to compare the old way to the new way. From these patterns, we were able to create a model based on further abstracting the main concepts required to fulfill the patterns. The model itself is abstract but from the model we were able to create a reference architecture for developers and architects. The idea is that the reference architecture is abstract of all technologies, implementation detail yet presents a great technology component view that can be used to help guide architects and developers as they build their applications.




The value of this methodology is that anyone can take the reference architecture and build their own specialized architecture from it. The model is simple and reflects abstract concepts that are present in most of the patterns. So what does the model look like and what is different? The model is shown below:



The model is definitely different than the old internet in a number of ways. In order to reflect the capabilities necessary to fulfill the patterns mined form Tim's examples, developers need to extend the basic client server model. Instead of a simple "server", the Services Tier of the model reflect the core tenets of Service Oriented Architecture, itself a a core pattern of Web 2.0. SOA is a pattern that can be used to match needs and capabilities under disparate domains of ownership. In this context, SOA is independent of any specific implementation or technology family such as web services and aligned with the abstract definition in the OASIS Reference Model for SOA. SOA allows "capabilities" to be offered for consumption to potential consumers on a common fabric. The common fabric is defined in terms of "Reachability and Connectivity", often implemented by using common standards and protocols. The concept of web 2.0 as an open platform relies on these open standards and technologies to function. Work such as the Service Component Architecture will rely on this type of infrastructure to exist in order to work.

The services tier offering these services is necessary to fulfill many patterns. To deliver a Rich User Experience (RUE), the capabilities must be leveraged to add more depth to interactions between users. To enable people to build mashups or offer Software as a Service (SaaS), the services tier must beliver the capabilities whilst abstracting the client from how the capabilities are being fulfilled.

The the middle tier of Capabilities and Reachability, we have seen huge changes since the first iteration of the internet. The development of Web Services standards and new data serialization forms such as XML to supplement the simplistic HTTP and HTML model form the first internet are necessary to fulfill the promise of the first iteration of the web. Guys like Bob Sutor, David Orchard, Marc Goodner and Eric Newcomer have all been working on these new standards and protocols for a long time. Why? They are absolutely necessary for Web 2.0. The Web must be open and mashable (new word??) to enable the patterns.

Additional patterns beyond simple "Request-Response" are necessary to fulfill core patterns like the "Synchronized Web". This latter pattern being used a lot for online gaming, collaborative applications and other synchronous architectures of participation. We have seen the rise of AJAX as an asynchronous model and various other mutations to make the patterns reality. Models for interaction include Probe and Match, Request-Response, Subscribe-Push, Synchronized, Asynchronous and more.

On the top side of the model, the old notion of "client" has been widened to become a "Client Applications/Runtimes". The purpose of this is to perform client duties and prepare the ultimate user to connect to the web. We noted that there is a new entity above the client. This entity is the User. The user is now a core part of the model for the internet and vice verse. Users are involved is so many patterns it would be difficult to ever devise an inclusive list. The Collaborative Tagging pattern ("Folksonomy), Collaboration-Participation Pattern, Rich User Experience Pattern, Semantic Web Patterns, Synchronized Web Patterns, Declarative Living and many others all include the notion of the user. Note that 'users' are not limited merely to humans but may include applications or other agents.

Some more about the model? This model can be used as a pattern between any two entities on the web. It is not about simply making one model for a platform of all interconnected devices. The model can be used in Peer to Peer patterns (one peer has a capability that gets consumed by another peer using protocols like BitTorrent via services for the ultimate benefit of a human actor) or other patterns like the Web Services * architecture, reflected in a great book by Chris Kurt.

Note that we do not consider the model to be the one single model that forever defines Web 2.0. It is simply "a" model which people can use, even if they disagree with it. If you disagree, you still have a model to use as a point of reference to describe your disagreements.

The reference architecture was presented during a recent session at Web 2.0 in San Francisco but I am not going to repost it here just yet. It will be the subject of another entry. In true Web 2.0 style, the book will have a sister website that allows anyone to collaborate and contribute to the set of patterns. This will be announced when the book is published.

The list of patterns identified to date is as follows:

Adaptive Software (software that gets better the more it gets used)
Asynchronous Particle Exchange
Collaboration Participation
Collaborative Tagging
Declarative Living
Mashup
Persistent Rights Management
Rich User Experience
Semantic Web
SOA
Software as a Service
Synchronized Web
Tag Gardening
...

Expect this list to grow as the work continues and others start contributing patterns. Note that Rich Internet Applications (RIA's) use a combination of patterns (RUE, Mashup, etc). Patterns themselves may be combined and used together.

Ahh - back to work..TGIF!!!