Posts filed under ‘Text Layout Framework’
It’s been a while since I’ve had free time to make any progress with my pet project. e2publish is an AIR application for creating online magazines. I’ve written it for amateur enthusiasts. Not professional writers or publishing houses. Although I think that old-school publishing establishments need to be aware that technology is going to change EVERYTHING. Especially in terms of the contribution and “fan” content that will be created and manipulated by the consumers. In the old days, magazines may as well have been carved in stone, as there was no way for the reader to interact with it (apart from a few “letters to the editor”). So I see the role of publishing houses as changing (at least the role of those that survive the shake-up). As they develop technological solutions to nurture and harness creative and dynamic “fan” participation.
Just as web 2.0 applications enable anyone to “write” to the internet, rather than passively just consume and read its content. The vision of e2publish was to allow people to make their own electronic magazines.
Users can network and collaborate with each other, and share draft articles to their members of their team. It has a powerful editor with capabilities for styling and arranging text and pictures, powerful text-wrapping, and stylising the look of pages. Once published, the magazines can be accessed and read using the “reader” application, e2world.
In fact this project is so “all-encompassing” that I was a fool to embark on it in my own time, with no funding. And now that I’m getting close to a prototype that gets close to part of my vision, I’m really not sure how to popularise it or commercialise it. Any suggestions welcome. But first of all, I’m looking for beta-testers who can help me put this prototype through its paces, and help me to improve the experience.
. . . . . . . . . . . . . . . .
I’m going to describe the publication process in detail. (This time, I’m not going to talk about the powerful TLF-based document editing part, because I’ve done quite enough of that in previous blog posts.)
The AIR applications can be downloaded from http://www.e2easy.co.cc/e2publish.html
If you haven’t been following this project, you’ll find the e2publish tutorial videos helpful. Just click on the HELP drop-down menu.
In e2publish, if you click on the first icon in the toolbar “e:”, this will take you to the author discussion pages. There are many categories to choose from, and this will be the place where enthusiasts might network, and recruit like-minded enthusiasts to collaborate on a magazine together.
The team would appoint an “editor”. This is the person with a few more options and capabilities at their disposal that other team members don’t have. The editor can create a magazine (Publish->Settings…) then click on the big “new magazine” button (you can’t miss it).
After completing the form, nothing is published or visible to the “readers” at this stage. All we’ve done is created a group, and the editor can bring in new users to join this group. (editor options…->invite user).
Members of the group can discuss or share e2publish documents amongst themselves. There’s a “Magazine article pool” in which you can collect articles that you intend to appear in the next issue.
Finally, when you’ve written all the articles, you can publish the next issue of the magazine. (A magazine can have many issues, maybe monthly, or quarterly, etc.). (editor options…->publish magazine).
The publish form allows you to sort the articles into the order you wish them to appear. Or decide which ones not to include. You can write a description and upload a thumbnail to represent the issue.
Finally, you click “publish now” when you’re confident that you wish to go public with your magazine.
Now your magazine is public, and it can be viewed in e2world.
. . . . . . . . . . . . . . .
e2world is the first prototype of the “reader” application. It’s not perfect, it’s not refined, it’s not optimised. (The application could easily be a fraction of its current file size).
But I’ve used this prototype to play around with some user interface ideas, like the page curl effect when you turn a page, and the variation on a radial menu when you click on a page. Let me know what you think about these.
When you first start e2world, it displays all of the currently available magazine articles. I haven’t yet wired up a voting scheme (how many stars do you award a magazine), or the ability to subscribe. That will come later.
Click on a magazine description to download it. Viewing a magazine, you just click to bring up the “radial menu”. The menu allows you to navigate between articles, pages, back to the list of magazines (home), or a chat page for users to discuss the current article that you’re reading.
. . . . . . . . . . . . .
You can download the prototype applications from http://www.e2easy.co.cc/e2publish.html
Please, please, let me know what you think. Any bug reports or suggestions, let me know. If anyone would like to become an official beta-tester just leave a message.
e2publish is an AIR application that utilises the Text Layout Framework (TLF) and Squiggly spell checking. It has two powerful text wrapping modes, and plenty of features to customise the look of document pages.
The following video tutorials provide an overview of the most important features.
Introduction: Pictures and text…
Advanced text wrapping…
Layouts: Customising page appearance…
Tables and top text shutter…
Sharing documents online…
1. e2publish can import e2spreadsheet graphs, or e2vector illustrations. You can import from your computer’s filesystem, or shared documents online.
2. Because it can import from e2vector, you can import illustrations that originated in Flash. Export them as .fxg files, import then into e2vector, then import the .e2v file into e2publish.
3. Make sure you have the latest versions of e2spreadsheet, e2vector and e2publish.
. . . . . . . . . .
These applications are beta versions. Please let me know about any bugs or feature requests. (You can leave your comments here).
The latest update to e2publish is available from my website here.
It has several enhancements over the previous version. A new user interface. I’ve incorporated my advanced text wrapping feature. You can choose either fast or advanced text wrapping by clicking the new icons at the bottom-left corner of the page template menu.
This new version has tables, which an be styled in the same way as text boxes.
New picture options enable a picture to be displayed with a frame, rounded corners, elliptical mask, or custom shape – for text-wrapping around irregular shaped pictures.
There’s an “edit” button that allows the user to crop a picture, or define the custom text-wrapping border, by simply drawing around the picture.
Download it now from my website!. And please, please leave your comments and bug reports.
It’s 2:00am Monday morning. I’ve just spent all weekend obsessively wrapping text around giraffes.
If you’ve been following my blog, you may remember that a few weeks ago I was blown away by Apple’s presentation of the new iPad. Particularly iWork and “Pages”. Having watched a demonstration of text wrapping around a picture of a giraffe – I only wished that I had time to implement this kind of text wrapping in my e2publish AIR application.
Then another developer left a comment on this blog, that he and his team had done this in an application they’d made.
Not wishing to be outdone – I locked myself away this weekend, deprived myself of some sleep, and implemented a much more powerful text wrapping algorithm for e2publish.
It’s more computationally intensive than the previous way I did things. It takes longer to refresh a page. But the old (fast but less versatile) scheme comes into play when it can.
You won’t be able to play around with the fruits of my weekend labours yet. I have other significant enhancements to make to e2publish before I release a new version with the ability to wrap text around giraffes (or other oddly-shaped pictures). But you can still download the current version here.
“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.
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.)
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.
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
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.
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.)
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.
Click on the “e:” symbol and create a new account.
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.
There are updates to all three e2 AIR applications available from my web site.
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:-