Reasons for Flash: Flash Development in an HTML5 and App Store World

66
Reasons for Flash Flash development in an HTML5 and App Store world

description

RJ Owen's presentation slides from his talk at 360 Flex 2011 in Denver, CO.

Transcript of Reasons for Flash: Flash Development in an HTML5 and App Store World

Page 1: Reasons for Flash: Flash Development in an HTML5 and App Store World

Reasons for FlashFlash development in an HTML5 and App Store world

Page 2: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

RJ OwenSenior Software [email protected]@effectiveui.com

Tweeting this session?Use the hashtag: #effectiveui

Page 3: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

OMG HTML5 NATIVE APPS YIKES

Page 4: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc. sugarpiefarmhouse.com

Page 5: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Where is Flex going?

Page 6: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Where has Flex been?

Page 7: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Macromedia Flex 1-1.5 (2004, 2005)

• Server-side technology• Rich component set for Flash• MXML / AS compiled to SWF on the

server using a J2EE server• $15,000 per CPU (wikipedia)• Flex Data Services required

Product Goal:!Get Flash into Business

???

Page 8: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Macromedia Flex 1-1.5 (2004, 2005)

• Server-side technology• Rich component set for Flash• MXML / AS compiled to SWF on the

server using a J2EE server• $15,000 per CPU (wikipedia)• Flex Data Services required

Product Goal:!Get Flash into Business

Page 9: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Adobe Flex 2 (2006)

• AS3• Eclipsed-based Flex Builder• Client-side compiling• Free compiler• Charting• Flex Data Services 2

Product Goal:!Get Flash to Developers!Increase adoption in businesses

Page 10: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Adobe Flex 3-3.5 (2008, 2009)

• Open Source• Integration with CS product line• AIR• Profiling and refactoring in Builder

Product Goal:!Increase Adoption, Community!Make Flex Builder a “real” product

Page 11: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Adobe Flex 4 (2010)

• “Design in Mind”• Spark• Catalyst Integration• FlexUnit integration• Improved profiler• Network monitor• TLF

Product Goal:!Improve UX!Improve Enterprise tooling

Page 12: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Adobe Flex 4.5 (2011)

• Multi-Screen (Mobile!)• Builder enhancements to support

enterprise, templating, etc.• More Spark• Spoon.as

Product Goal:!Mobile app development!Improve Enterprise development

Page 13: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

1 1.5 2 3 3.5 4 4.5

Enterprise

Design

AIR

Developers

Mobile

Page 14: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Flex’s current trajectory: reverse-engineering the business plan

Provide the tools required for enterprise-level workflows

Marketed to DevelopersTo solve a wide array of problemsWith good results

Page 15: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Flex’s current trajectory: reverse-engineering the business plan

Provide the tools required for enterprise-level workflows

Marketed to DevelopersTo solve a wide array of problemsWith good results

Enterprise

Design

DevelopersUbiquity

Page 16: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

So that Adobe can sell......Creative Suite

part of $2Billion creative solutions revenue 2010 (#1 source)

LiveCyclepart of $1Billion in Digital Enterprise

Solutions revenue 2010 (#2 source)

source: adobe.com/aboutadobe/invrelations/financialdocs.html

Page 17: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Take-aways:Expect to see Flex continue growing in Enterprise

Business portalsCustomer facing app widgetsUX that can integrate with a server

Expect tighter integration with CS, marketing about DesignExpect investment in Developers, marketing to DevelopersExpect continued LiveCycle push

Page 18: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Where will this plan take Flex in a post-HTML5 / post-Native App world?

Page 19: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

I put this question to the Quora community: “What are the best reasons to learn Flash in an HTML5

web and native app world?”Answers:Consistent Experience (browser issues)Get to market quickerSingle technology to focus onFaster ROICore OOP educationand more.

Page 20: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

That’s a great start. Here’s what I think.

Flex is and will continue to be valuable for....

Page 21: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.1. Enterprise

Page 22: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Enterprise RequirementsClient-Server integrationOO languagesDeveloper toolsetsMature languagesCode generationBest-practicesBigger logos

Page 23: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Java :: Enterprise Back-EndFlex :: Enterprise Front-End

Page 24: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

2. Multi-Screen Development

Page 25: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Same content, multiple screensiOS, BlackBerry, Android, WebOS, WP7, and counting....

Page 26: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Approaches to multi-screen:Web-onlyMultiple native applications

(avoid multi-screen ubiquity altogether)HTML5 app cache

(iOS doesn’t support!)PhoneGapTitaniumAIR mobile

Page 27: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Multi-screen application development represents the best business case for Flex. Flex is an easy technology for multi-screen application development.

Page 28: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

3. Community

Page 29: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

SpringASSwizMateParsleyPureMVCRobotlegstinyTLFSpoon.ashamcrest-as3SwiftSuspendersFlexUnit

Signalsasmockas3corelibas3cryptoas3awss3libAway3DPaperVision3Das3ebaylibDegrafaReflexStealth

FlightFlexLibJestRibbitTweenLiteTweenerMerapiWOW 3Das3youtubelibas3syndicationlibFZip

Page 30: Reasons for Flash: Flash Development in an HTML5 and App Store World

4. Video

Page 31: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Ogg Theora H.264 WebM

IE9 Manual Install

Firefox

Chrome

Safari

Mobile Safari

Opera

Page 32: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Ogg Theora H.264 WebM

IE9 Manual Install

Firefox

Chrome

Safari

Mobile Safari

Opera

BROWSER INCOMPATIBILITY

FAIL

Page 33: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Flash

IE9

Firefox

Chrome

Safari

Mobile Safari

Opera

Page 34: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Flash

IE9

Firefox

Chrome

Safari

Mobile Safari

Opera

Page 35: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

HTML5 video lacks the ability to “secure the content, handle reporting for our advertisers, to...ensure premium visual quality, communicate back with the server to determine how long to buffer and what bit-rate to stream, and dozens of other things that aren’t necessarily visible to the end user.”

- Hulu, 4/2010gizmodo.com/#!5538264/hulu-says-html5-isnt-ready-yet

Page 36: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

“HTML5 Video doesn’t have a viable DRM solution at this point.”

- Netflix, 4/2010gigaom.com/video/netflix-no-plans-for-html5-video/

Page 37: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

5. Games

Page 38: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Flash is an animation engine.Will always perform better than Canvas.Molehill brings real hardware-

accelerated 3D

Page 39: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

HTML5 games are okayCanvas tag makes things flexible

Page 40: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Why move from HTML5 to Flash?Browser support is spotty at bestPerformance isn’t up to parThere is no FGL for html5 gamesSource: blog.tametick.com/2011/01/why-im-moving-from-html5-to-flash.html

Page 41: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

“Is html5 the future? I sure hope so!Unfortunately, it isn’t the present.”

- TameTick.comblog.tametick.com/2011/01/why-im-moving-from-html5-to-flash.html

Page 42: Reasons for Flash: Flash Development in an HTML5 and App Store World
Page 43: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

source: facebook.com/note.php?note_id=491691753919

Page 44: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

6. Translating Interaction

Page 45: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

(Don Norman’s) Experience Design VocabularyVisibilityAffordancesFeedbackMappingConstraintConsistency

Page 46: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

VISIBILITYPerceiving interactive elements

AFFORDANCESUnderstanding interactive elements

FEEDBACKKnowing how your actions impact the system

MAPPINGHow well the interface reflects your understanding of the system

CONSTRAINTSPreventing errors in the system

CONSISTENCYObjects that appear the same function the same

Page 47: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

VISIBILITYPerceiving interactive elements

AFFORDANCESUnderstanding interactive elements

FEEDBACKKnowing how your actions impact the system

MAPPINGHow well the interface reflects your understanding of the system

CONSTRAINTSPreventing errors in the system

CONSISTENCYObjects that appear the same function the same

COMPONENT SET

EVENT MODEL

CUSTOM CONTROLS & LAYOUTS

VALIDATION & ERROR HANDLING

CLASS-BASED VISUAL ARCHITECTURE

COMPONENT SET

Page 48: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

HTML mark-up is SEMANTICMXML mark-up is VISUAL

Semantic mark-up is good for applying multiple views to a single data-structure and require external visual descriptors (CSS.)

Visual mark-up is good for defining an explicit visual representation of an external data object, semantic or otherwise.

Page 49: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Places Flex is and will be weaker than HTML5

Page 50: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Accessibility

Page 51: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Search Engine Optimization

Page 52: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Web-sites

Page 53: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

The browser was made for semantic mark-up. Flash locks site content in a layer of abstraction.

Abstraction allows for generalization, ubiquity, and re-use.

Specificity allows for customization, perfection, and speed - an experience highly-tailored for each specific medium.

Page 54: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Places Flex is and will be weaker than Native*

*probably.

Page 55: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Performance

Page 56: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Size

Page 57: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Consistency

Page 58: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Text

colinharman.com/portfolio/how-would-you-like-your-graphic-design/

Page 59: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Software is about balanceConsistencyUbiquity

PerformanceMemory

AbstractionSpecificity

Page 60: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

FEATURES SPEED

SIZEUBIQUITY

NATIVEAIR MOBILE

HTML5

Page 61: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Take aways:Flex has a strong future.It looks different than its past.

HTML has a strong future.It looks different than its past and Flash’s past.

Native apps have a strong future.Mobile + App stores are highly disruptive.

Page 62: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

There’s one final case for Flash I left out......

Page 63: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

7. Pushing Boundaries

Page 64: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Page 65: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

Thanks!

RJ OwenSenior Software ArchitectEffectiveUI

@[email protected]

Page 66: Reasons for Flash: Flash Development in an HTML5 and App Store World

© 2011 EffectiveUI, Inc.

This slide intentionally left blank.