Further thoughts about the iPad, Flash, and what Jobs said.

They are lazy, Jobs says. They have all this potential to do interesting things but they just refuse to do it. They don’t do anything with the approaches that Apple is taking, like Carbon. Apple does not support Flash because it is so buggy, he says. Whenever a Mac crashes more often than not it’s because of Flash. No one will be using Flash, he says. The world is moving to HTML5.” (quote extracted from here).

I’ve always had a lot of respect for Steve Jobs.   If Jobs says something – I listen.  And so does the entire computing industry.

If Steve Jobs were to say something that challenged my world view – I wouldn’t get defensive or upset.  I would listen very carefully to the message.

I’ve said this before: I’m not a fan boy.  I think evangelism is unhealthy.  But I have tremendous loyalty to the Apple brand based on technical merit.

My other foot is firmly planted in the Adobe camp.  I’ve been dedicated and involved in the Flash Platform for the last ten years because I was excited by its ubiquitous nature, its consumer saturation, and its potential for mobile deployment.  ActionScript 3 is a joy.  Most of my waking hours are spent using Flex commercially or coding sophisticated Pure ActionScript.  (resolution 2010 – I really must get out more).

There are three parts to Steve’s message.

I fully agree with the first part of Jobs’ statement.  Think of it as a wake-up call.

I’m not going to talk about “Flash is buggy” accusation .  I think Flash on a Mac is better than it used to be.  There’s a lot of speculation elsewhere about this issue. I won’t add to the noise.

I don’t agree with the last part of Steve’s message.  I’ve heard all about the demise of Flash before.  I’ve seen Flash-killers come and go and fade into obscurity.  Flash has a strong legacy and following and I don’t see it disappearing.

Mac users have often been treated as second-class citizens by Macromedia/Adobe.  Initial releases of software such as Flex and ColdFusion were released for PC only.  I remember having to wait ages before I was able to obtain the first pre-release version of Flex that I could run on my Mac.

Yet, back in the pioneering days – I noticed something about the people who were getting most excited about using Flash to write applications.  Most were Mac users like myself.

The performance of Flash on the Mac has been an issue for all the time I’ve been using Flash.  It IS implementation laziness.  Every software development project I’ve worked on (both commercial and personal) has involved an optimisation phase to make things to run faster.  I do this a lot in Flex and ActionScript.  To improve the user experience on a PC as well as Mac.  Working on my code to compensate for the feeble Flash runtime, or Flex framework.  I wish Macromedia/Adobe had done more optimisation at their end, as it would have saved me a lot of work at my end.

I’ve heard the excuses.  That this is a consequence of executing something in a ubiquitous runtime rather than natively.  That Flash or Flex provide a higher-level authoring experience (compared to Pure ActionScript), so I must accept the consequences .  I don’t accept these excuses.

Flash was probably fast enough for “conventional” uses.  Banner animations, web-sites, e-commerce, simple stuff dragged together in Flex.  But now people are writing applications that resemble the kinds of applications that run on your desktop.  The bar has been raised.  Users expect capabilities more like they get on the desktop, and developers like myself want to be empowered by Flash more than we are currently.

As a developer, my intimacy and familiarity with the ActionScript classes provide me with a unique vision of what the platform is capable of, and what is lacking.  TLF textflows for example.  In 2003, I described this idea (except my name for them was “linked text boxes”).  For many years I was frustrated by the limitations of the TextField object and the lack of control over text on the screen, until eventually we got the flash.text.engine class.

I could mention numerous other examples of enhancements and capabilities that we waited too long to happen – but at least we got there in the end.  The shortest distance between two points is a straight line.  What was the point of ActionScript 2? – superseded so quickly.  Or a bloated, slow, and badly conceived Halo Flex framework?  Every time that Adobe flounders – they weaken their competitive stance.  And that’s a pity – because I’m really on their side when they’re on-track.

I only wish that a little of Apple’s culture, attention to detail, boldness and vision could be injected into Adobe.

To develop AIR (or even browser) applications with Carbon-like capabilities would be incredible.  It’s an almost incomprehensible vision, compared to what’s possible currently – we’re still dragging our knuckles along the ground.

But if Flash is still dragging it’s knuckles along the ground, then conventional web technology “standards” (canvas, javascript, etc.) have hardly evolved from single cell organisms.  JavaScript!??  Don’t make me laugh.  While I admire the tenacity of developers who’ve created powerful applications in JavaScript (particularly Google’s applications) – I’ll stick to the powerful real language capabilities of ActionScript 3, along with the powerful libraries and complimentary technologies that Adobe have released over the last few years.  (Derrick Grigg has cited some examples of what AS3 can do that JavaScript can’t)  I’m not even sure that an application like e2publish, with its control over text formatting, is even possible in JavaScript.

So despite my frustrations as a developer about the limitations of Flash – it’s still better than the web standard alternatives.  In fact, Adobe shouldn’t even be competing with these lesser technologies.  They’re unworthy adversaries.  Be like the Samurai.

Instead, I wish that Adobe could raise its sights to see the potential of Flash in a similar way to how Steve Jobs sees the potential of Flash.

Unfortunately, Adobe sees the world very differently to Google or Apple.  I notice this every time that Adobe runs a competition, derby, funding scheme or incentive to support developers.  It’s always too much about image and eye-candy and not enough about functionality.  Sometimes, Adobe throws its support and money into a mediocre idea, and biasses the playing-field against much more ambitious visions.

Adobe is an eye-candy company.  Apple is much more about functionality – yet they always present it beautifully.  That’s an important difference.

I wrote something else here.  But I deleted it.  What I had to say would have seemed too much like Kanye West (Gay Fish) at an awards ceremony.  My comments may have upset another developer – and I didn’t want to do that.  Suffice to say that Adobe have often supported ideas or developers that demonstrated very little merit beyond an initial and very superficial “wow” factor.

It’s no wonder that the “web standard” fan boys think they have a shot at the title.  The real capabilities of the Flash Platform are Adobe’s most closely guarded secret.

. . . . . . . . . . . . .

On a related issue:  I mentioned how the RIA bar has been raised.  As developers, we’re increasingly aiming for a user experience that resembles the slickness of applications that run on the desktop, rather than the primitive tables, buttons and forms of a traditional web application.

I watched the iPad keynote presentation.  I was so blown away (uh oh, I’m starting to sound like Steve Jobs now) by the iWork demonstration that it almost made me weep.  Not because it was impressive.  Indeed it’s very impressive.  But it’s so impressive that it raises user expectations.  Our Flash based applications will be expected to compete with this level of experience.  That’s daunting – almost defeating.

The part of the video where the text wraps around the giraffes head was particularly daunting for me.  Actually, I know how to do this.  I know exactly how I’d implement that in ActionScript.  I’d love to bring that feature to e2publish.  But that would take time, and divert me from my commercial Flex work that I get paid for.  So that feature probably won’t make it for a while.

While I have lofty ambitions about pushing the envelope of what can be achieved with the Flash Platform – the downside is that I don’t really have the time to realise my vision.

(I tried to embed a link to the youtube video.  It didn’t work, probably because it’s the beta test HTML5 youtube service.  Try part 3 of 4 here.)

5 comments February 1, 2010

Beta testers needed!

I need beta testers to use my e2publish AIR application.  Can anyone spare some time, or help me spread the word through their blogs and twitter?  It’s a very sophisticated project, and as well as bug reports – It could benefit from any suggestions, feedback and discussion.

Recap: I develop these applications in my own time, when I’m not working on commercial Flex projects.  e2publish is an ambitious project to allow users to collaborate and create snazzy magazine-style electronic-publications.  Later, I will also introduce features to enable the creation of much more interactive content.  (hotpots, animations, slide-shows, etc.).

Here is an example of the kinds of pages you can create in the current version.  (download/update now!)

e2publish is pure actionscript, and utilises Adobe’s Text Layout Framework, and Squiggly spell-check technologies.

Also in the works, I have a “viewing” application called e2network, which will allow users to browse, subscribe to, and read e2publish magazines.  It is my intention to create versions of e2network for the desktop, iPod, and iPad.  I see electronic magazines of this kind to be a killer-application for tablet devices.

e2publish can import graphs or illustrations from my other AIR applications: e2spreadsheet and e2vector.  I would also appreciate any user feedback about these applications too.

So, please please help me test this and get through to version 1.0 (currently version 0.253).  Here is a suggested testing plan.  You don’t have to stick to this though – just a guideline…

SUGGESTED E2PUBLISH TESTING PLAN

Please report:-

1. Bugs.  (Tell me exactly what steps to perform in order to reproduce the problem).

2. Difficulties.  (Anything that is difficult to understand or operate).

3. Suggestions as to how the application can be improved.  New features, etc.

BASIC FUNCTIONALITY

Install e2publish, e2spreadsheet and e2vector.

Create a document with more than one page of text.

Highlight portions of text (using the highlighter).

Change the background colour of each page.

Apply one, two, or three column formats to pages.

Import pictures into your document.

Import graphs and drawings into your document.  (Created using e2spreadsheet and e2vector)

Click on pictures/graphs/drawings to select them.  Change their placement, frame, shadow, and colour, etc. using the PICTURE palette.  (left pop-out palettes).

Apply other changes using left pop-out palettes.

Apply Cut, Copy, Paste, Undo and Redo to the actions above.

Save, Save As… and Open documents.  (Use the File menu, or click on saved document icons, or drag documents onto application icon.)

PAGE LAYOUT

Modify a page layout.  Click on the arrow icon (between the “e:” and “A” icons).  On this screen, you can:-

Resize and move linked text boxes.

Create new linked text boxes.

Create and position text boxes (stand alone- not linked).

Create and position pull-quotes.

Delete Text Boxes.

Change the appearance of a text box.  Colour, gradient, style, etc.
- using text box drop-down menu.

Add page layouts to favourites
- Use the + symbol within the templates drop-down menu.
- Apply a favourite layout to a particular page.

Apply Cut, Copy, Paste, Undo and Redo to the actions above.

SHARED DOCUMENTS

Click on the “e:” symbol and create a new account.

Log-in.

Browse projects and shared files.

Open shared e2publish documents.

Import shared e2spreadsheet graphs and e2vector drawings into your e2publish document.

Share your own documents.  Online->Share this Document

…Thank you for your valuable contribution.

7 comments January 29, 2010

Some thoughts about the iPad, and stuff.

People are often surprised that I’m not interested in gadgets or electronic novelties.

Having made a significant technical contribution to the GSM standard, and my pioneering involvement in mobile telephony - Yet I waited a decade before I owned a mobile phone.  My phone is simple and fit-for-purpose.  It makes calls and sends messages.

I spent my teens writing computer games (for the primitive computers of the time) – yet I’m not interested in gaming.

I first turned my attention to the Flash Platform a long time before it appeared on the software professional’s radar. I was writing sophisticated applications before Flex, and before Adobe invented the acronym “RIA”.  I used to get flamed by irate graphic designers.  Disturbed that I was subverting their pretty pretty eye-candy technology for ugly and functional purposes.

I’m not interested in Flash widgets, gimmicks, mash-ups, or style without substance.

(I’m going to say something about the iPad soon – I just want to establish where I’m coming from).

I’m not a fan boy either.  My allegiance with Apple or Adobe are based on merit, not loyalty.  I like Apple computers.  But I’m not compelled to buy every Apple white-plastic or aluminium-clad novelty.

The iPad doesn’t run Flash in the browser.  That’s a disappointment.

I have to admit that I’m impressed and surprised by what can be achieved using Ajax.  Particularly the bold way in which Google pushes the envelope.  Who’d have thought that such things could be done in JavaScript?

Of course, ActionScript 3 is much more powerful.  Flash developers like myself were writing spreadsheets, text editors, and consumer-oriented applications in Flash 5! – Unfunded Flash enthusiasts were ahead of the curve.  Not that you’d know this.  Google have done a much better job of nurturing and showcasing the potential of “standards” than Adobe has achieved with the Flash Platform.  Adobe is an eye-candy company.  Google is much more focussed on functionality.

So if the iPad’s lack of Flash support undermines the market significance of the Flash Platform – Adobe only have themselves to blame.

No Flash in the iPad browser – but the iPad WILL run Flash-authored applications!  If they run on iPhone they’ll run on iPad.  I just need to cater for the 768×1024 screen size.

I’m likely to buy an iPad.  Not because of what it does, or the novelty.  But I’m interested in the potential of what it could be made to do.  I’m excited by a completely new class of application that could be created for a device like this. It’s great that I’ll be able to author things in pure ActionScript and utilise all my legacy pure actionscript classes.

Flash is capable of so much more than simple eye-candy widgets.  But that was a little difficult to convey on a 480×320 iPod-touch or iPhone screen.  I’m excited to see what other Flash/ActionScript developers do with the iPad.  (Contact me maybe? – we can discuss our ideas.)

I’ll be starting with a e2publish.  While everyone gets caught up in the excitement of Apple’s reality distortion field, you’ve gotta ask yourself “What’s the killer application for an iPad?”.  I think a big niche use is electronic magazines.  And I’ve been saying for a while that e2publish is intended for tablet devices.

An iPad user may be deprived a rich Flash experience within the browser – but I intend shared e2publish documents/magazines to convey a rich and interactive Flash-based experience.

I’ve noticed that iPad applications employ a user interface that flip like the pages of a magazine.  This is something I was always planning in the e2publish reader application.  But people are going to think I ripped this idea off now.

I’m a little concerned that the iPad is aluminium clad.  My MacBook is developing metal fatigue on one of the wrist rests.  A small patch of tiny dark indentations in the metal.  I showed this to an Apple Reseller a few days ago – No offers to replacement it.   The iPad will be handled much more than a MacBook – let’s hope that Apple tested their materials properly this time.

1 comment January 28, 2010

Share e2 documents online

There are updates to all three e2 AIR applications available from my web site.

e2publish

e2spreadsheet

e2vector

The updates allow you to share documents online.  Or to import shared documents into e2publish documents.  To use these capabilities, you need to register for an online account (free of course):-

This is still a beta test programme, and I’d love more feedback about this project.  I’m hoping that the ability to share documents will stimulate more interest.

To upload a document, simply select a project, and then select (click on) a file within that project:-

Notice the three application icons in the e2publish file sharing window.

Click on them to filter online files by file type.  e2publish can upload/import all three kinds of document.

To upload your own document, simply select the Online->Share this Document option in the drop-down menus.

At the moment, the filesystem is simple.  Each user has a public area, accessible to everyone else.  Actually, I’ve written a much more powerful filing system with groups, privileges, etc – but for now, I’m just using the basics.

I’ve also made some improvements to the e2publish user interface.

There’s a new “text box” drop down menu allowing to to alter the colour, gradient and style of a text box.

And there are new buttons in layout mode to insert or alter text boxes:-

Add comment January 12, 2010

Import illustrations and graphs into e2publish

With the latest beta version of e2publish, users can import illustrations or graphs (e2vector or e2spreadsheet) into their document.  There are updated versions of all three applications from my website.  I’ve also got around to implementing native windows for Windows PC users (and presumably Linux users? … Can a Linux user verify that everything works ok?)

To import .e2s or .e2v content, simply press the picture import icon, but instead of choosing a .jpg or .png image, choose a file saved from one of my other AIR applications.

A spreadsheet may have more than one graph – so just click on the one you want:-

The cartoons shown are actually imported from Flash, via the import (.fxg) feature.  So it’s possible to include illustrations in e2publish that originated in flash, or from the Creative Commons (.svg) library via e2vector’s search feature.

One more feature worthy of a mention is the ability to save favourite page layouts.  In the “template” drop-down menu, notice that there’s a plus symbol in the bottom right corner.  Select it to save the current page layout as a favourite.  To remove a layout from the favourites click on the (X) symbol.

Please, please leave me your comments and suggestions.  These are very sophisticated AIR applications, so I need plenty of testing and feedback before I’m happy with releasing a version 1.0.

The next beta releases will incorporate the ability to collaborate, share and browse an online filesystem of documents.

. . . . . . . . . . . . . . . . . . . . .

Update: There seems to be a problem on a Windows PC (and presumably Linux too) – with opening a saved document by clicking on the file icon.  But opening a file from within the application is ok.

On a Mac – everything is fine.

Add comment January 3, 2010

A new beta version of e2publish

I’ve uploaded a new beta version of e2publish.  It’s available as an AIR application from my website.

This new version has spell-checking (built using Squiggly) ….

…a powerful layout editor…

…much more control over the look of a document…

…and pull-quotes…

Remember, this project is still an early prototype.  Please report any bugs, and I welcome any comments and suggestions.  Still on the roadmap for this project is native menus on the PC, and document sharing.  That will probably come early next year.  (subject to my commitment to commercial projects).

Download the application from http://www.e2easy.co.cc/e2publish.html

1 comment December 24, 2009

e2publish. A tablet magazine 2.0 solution?

Just as I’ve released the first public beta of e2publish, I’ve seen a lot of articles about tablet magazines.  Clearly, two companies are fuelling the excitement.   Apple haven’t said they will release a tablet device – but everyone anticipates and expects this to happen next year.  Including Time inc. who have demonstrated a “tabletized” Sports Illustrated magazine, clearly targeted at an iTablet type of device.

see:

http://tech.yahoo.com/blogs/patterson/61656

http://www.techcrunch.com/2009/12/02/time-inc-digital-magazine/

http://www.techcrunch.com/2009/12/02/video-time-tablet-magazine/

The videos on the various web articles have inspired some ideas about enhancements I could wire into e2publish.  Having got as far as the first public prototype – I’m speculating a lot about the possibilities and applications anyway.  Although video and rich-media have always been on the roadmap.

The Sports Illustrated concept demo is an AIR application created by The Wonderfactory.  Wonderfactory’s AIR app, and my e2publish AIR app are clearly designed for very different, but related purposes.

The Wonderfactory have demonstrated the potential of a polished eye-candy-focussed magazine client/consumer-side player.  It is intended that the service will enable electronic publications to be disseminated from the (single) publishing house to the (many) readers.

A one to many relation.

The e2publish prototype demonstrates the potential of a functional/code-focussed magazine author/producer-side authoring tool.  It is intended that the service will enable electronic publications to be disseminated from the (many) enthusiasts (not professional publishing personnel) to the (many) readers.

A many to many relation.

This is why I’m calling the e2publish project a potential tablet magazine 2.0 solution.  Just as “Web 2.0″ allowed non-technical users to write to the internet as well as read from it – I see e2publish, and the web service that I’m planning, will allow non-technical users to collaborate on the creation of electronic magazines.  Not just read them.

The next version of e2publish is likely to incorporate document sharing, spell-checking, and more emphasis on how to stylise the look of your document.

I’ve also been thinking about how a formatted document can be deployed to different devices.  Different screen sizes.  Desktop, Tablet or Mobile.  In my proposal for e2info (a Mobile hypercard/powerpoint type application), I mentioned the challenge to enable a page to be re-organised and presented in a different way depending on the screen size.  I didn’t get any OpenScreen funding – but that hasn’t stopped me thinking about the algorithm to accomplish this.

I discussed the restrictions of Adobe’s Font Licensing rules in a previous blog discussion.  Due to these restrictions, I removed some of the features in the e2publish prototype that allow advanced manipulation of text appearance.  I really hope that Adobe can work out a way to monetise the online use of its fonts, and introduce a less-restrictive licensing agreement.  If I wanted to create an eye-catching, stylised and individual tablet magazine format – I’d definitely want to consider the use of special fonts to achieve this.

2 comments December 4, 2009

First beta prototype of e2publish here now!

I’m irritable, sleep-deprived, and a little nervous about subjecting my creation to public scrutiny.

This is the first public beta test prototype of the sophisticated AIR publish application that I’ve been blogging about for a while.

An ambitious project such as this relies on the feedback of test users.  Comments, suggestions, recommendations, ideas, and bug reports.  Let me know what you think?  Please be kind and constructive.

You can download it (click on the install badge) at http://www.e2easy.co.cc/e2publish.html

There have been some minor changes to the interface since I made the video presentation below.  But it’s still a useful feature guide.

The most novel feature is way the text arranges itself to wrap around the pictures, wherever they are placed on the page.  I haven’t seen any other flash-based word-processor with such a powerful layout algorithm.

I’ve also uploaded new improved versions of e2spreadsheet and e2vector.  If you have an older version, you’ll need to remove it before installing this new one.

http://www.e2easy.co.cc/e2spreadsheet.html

http://www.e2easy.co.cc/e2vector.html

1 comment December 3, 2009

Problems with Text Layout Framework

I had hoped to release a beta version of e2publish after this weekend.  But I got caught up in some problems with the Text Layout Framework – so it will be a little while longer.  I’m still refining the workarounds, and I’ll be putting in some bug reports soon.

The first problem is that ContainerController.textLength is unreliable.  Investigating further, I discovered that the problem occurs when the ContainerController contains a line of text that is not terminated by a newline.  Like might happen at the end of the textflow.

I managed to get around the problem as follows (within a class that inherits ContainerController) …..

 

var textLength:int=this.textLength;
if (textLength==0 && getSubString(textFlow,absoluteStart,absoluteStart+1)!='') textLength=textFlow.textLength-absoluteStart-1;

If textLength is zero, yet we still detect a character in the first position of the ContainerController, then clearly, textLength shouldn’t be zero – so we calculate what it should be assuming that we’re at the end of the textflow and knowing what the total length of the textflow should be.

I’ve utilised a substring method that I found on adobe forums.  I was using this anyway in my program – so it was convenient to call it here.  No doubt there’s a better workaround that doesn’t rely this method.

But don’t try to override textLength.  I tried, and it caused problems.  I’m not entirely sure why, but this seemed to cause several other ContainerController methods to fail – as if they rely on the incorrect value.

 

The second problem I’ve encountered is that ContainerController.getScrollDelta(n) fails with a run time error depending on the contents of the ContainerController.  If the ContainerController is empty, or has only newline characters – this causes a failure.

 

Add comment November 22, 2009

Forthcoming AIR application updates

Along with the new e2publish (online publishing AIR application), I’ll also be releasing updates to e2spreadsheet and e2vector soon.

The next version of e2spreadsheet has:-

1. New, powerful OLAP totals feature.

2. More powerful cell formatting.  Choose currency symbol and number of decimals.

3. Choose number of frequency bins for frequency graph.

4. AVERAGE(), ABS(), ROUND(), TRUNC(), MIN() and MAX() functions added to formula language.

5. Cosmetic changes and a side-palette.

6. Undo graph palette position/resize bug fixed.

7. Append .e2s extension on files.

8. Other minor bug fixes and improvements.

The next version of e2vector has:-

1. A new brush tool!

2. Import and export FXG files – meaning that you can transfer illustrations to and from Flash!

3. Undo pen tool drawing bug fixed.

4. Other bug fixes and improvements.

The overall plans is to make these client AIR applications stable and powerful.  Next I’ll write the server-side stuff to allow users to collaborate and share documents.

I’ll announce when all these updates are available here or on twitter.

Add comment November 5, 2009

Previous Posts


  RSS feed          View Daniel Freeman's LinkedIn profileView my profile

Add to Technorati Favorites

Top Posts

Blogroll

My Links

 

February 2010
M T W T F S S
« Jan    
1234567
891011121314
15161718192021
22232425262728

Archives