Manitu Group Software
-
Recent Posts
Recent Comments
- ken on And Then Premium Features Arrived…
- Alex on And Then Premium Features Arrived…
- Matt Bolt on And Then Premium Features Arrived…
- Elliot Geno on Why will Premium Flash Player Features Kill Flash?
- And Then Premium Features Arrived… | ASVGuy::SWFBlog on Why will Premium Flash Player Features Kill Flash?
Twitter Updates
- RT @edrabbit: Why is Facebook going public? They couldn't figure out the privacy settings either. 1 hour ago
- RT @fakedansavage: The talk TED doesn't want you see: http://t.co/kC5RzASU 8 hours ago
- Updated my blog post about ASV's 12th anniversary by nostalgic samples. http://t.co/JTxEqmRC 14 hours ago
- @sergeydragan @and_r3w LOL. It is scary for Linus :) It is scary when one realizes a really long time has passed by such an example. 16 hours ago
- @h_a_l_e_x Thanks! Appreciated. 1 day ago
Tags
accessibility Adobe AIR Alchemy Apollo AS3 ASR ASV blogging captionate chromatic dead decompile developer encrypt flash Flash Builder Flash Killer Flash Paper Flash Platform flash specs Flex Flex Builder FLV FLV specs free guitar tuner JSFL Manitu Group multi-core obfuscate online open flash open SWF Player poster premium features silverlight SWF SWF 9 SWF specs tuner UAE vista XAMDFCategories
Archives
Blogroll
Polls
Loading ...Software you may like
Meta
Archive for the Category: Flash
Do you really have to give up standards for simplicity?
Yes, absolutely, when it makes sense to do so.
I'm amazed how humans seek approval of an authority and feel comfortable when they have it.
Lets take W3C recommendations. A committee decides on something and many people think of them as rules, laws (kind of like god made), they do not try to understand the reasoning behind them, they just accept them as they are.
I have blogged about this before. According to my criteria many W3C 'standards' are totally wrong, and to my surprise it's no secret how they do things and why. Still, many people don't want to think one step further. I believe many will have agreed with me, if they really gave a minute of thought on the subject.
(BTW, Scott Adams' Power of Ridiculous Reasons is a good read).
What are standards? Why are the standards as they are? Why is something a standard?
QWERTY keyboard layout was designed to slow the typer (at the time of mechanical typewriters, to avoid jams). It's the standard layout many of us still use, though we will like to type faster and there's no jamming issue with our current computer keyboards.
If faster typing is your goal, when you hit the QWERTY layout barrier, you should question the standard. What was the reasoning, did it ever make sense, does it make sense now?
I can agree to disagree – afterall, we are all different, we can't agree on everything. But defending an argument by mentioning 'standards' really doesn't make an impression on me.
I value simplicity. If some standard is making things unnecessarily complicated (when there's a clear simple choice with no drawbacks), I will question the standard first rather than give up simplicity.
Of course, I'm not saying that simple is always better:
"Make everything as simple as possible, but not simpler." - Albert Einstein
You have to recognize it when it is better, and not simpler than necessary.
Einstein also said:
"Any fool can make things bigger, more complex, and
more violent. It takes a touch of genius — and a lot of courage — to
move in the opposite direction."
And while at it, the following is one of my favorite quotations, from Einstein:
"Only two things are infinite, the universe and human stupidity, and I'm not sure about the former."
[This post is not an answer to another post - hence no link. It's just that a sentence in a blog post inspired me to write about this. Still let me state what I think about namespaces vs. prefixes again:
- IMO Namespaces do not solve any real problem. They solve artificial problems.
- There's something that looks elegant and cool about namespaces, just like some furniture that looks great but has awful functionality. Deceiving, I say. Must think one step further.
- Using a prefix is inherently simpler and better than using namespaces. (Assume there was no namespace type. If a simple prefix solves the problem, you don't need namespaces at all).
- As I don't think namespaces are any good, and should not ideally be in a language as a type, even without any context, if one solution makes use of namespaces and the other does not. I'd say that the other solution is better.
- When you need to use a prefix, you just do it. There is no problem to write home about. Even if you think there is a problem, it exists only for a tiny moment until you realize you can use a prefix. Prefixes are not features of a language, they are just naming conventions. What do you do when you realize you have redefined a local variable named "a" a second time, and the compiler is not happy about it? Define namespaces to fix the name collision, or, just rename the new variable "a" to "b"?
- I value backwards compatibility very much (maybe more than most). But you don't have to be consistent if you are moving forward. (Take AS1/2 and AS3. Flash player runs AS1/2, but AS3 is not consistent with AS1/2).]
Also posted in Flex 3 Comments
I don’t believe in NameSpaces
I've been professionally programming for more than 20 years [1] and I've never needed to use a namespace.
I do know what a Namespace is. I think I shouldn't have.
Rarely, when the compiler cannot figure out what variable or function I'm referring to, it just signals an error and I fix this by writing the qualified name. That's all there is and there should be to it.
Of course namespaces can be there as leaked abstractions of implementation details. Ideally, a programmer should not know about them [2].
Why? Because, they don't help much, don't have much use, They are extra things to learn and complicate things unnecessarily. (Objects as abstractions actually help programming, Namespaces don't). (And there are XML namespaces, which I don't like in a different way).
Namespaces in a programming language solve an artificial problem and they create a bigger problem than they solve.
Still you may like them. But if that's the case, can you tell me how these fit in a scripting language that doesn't have a pointer type or memory management (by user)?
The first time I heard about 'Advanced' data structures called linked lists(!), I was surprised but later this made sense [3].
ActionScript should be simple. A namespace soup complicates things without much, if any, benefit in return. I don't think any language needs a spelled out Namespace type but scripting languages more so [4].
But we do have namespaces in AS3. I'm not proposing that they should be removed (Backwards compatibility is important). They just should not be made to look like a fundamental property of the language. Someone who has never heard of namespaces should be able to program in AS with no side effects caused by language design. This will make AS better than the rest [5].
Luckily, currently the situation is not hopeless, you can do without namespaces most of the time. What I'm afraid is the future directions.
I call namespaces the unnecessary evil …
[1] Actually 21. I've programmed in Basic, Z80 and 80×86 assembly, C, C++, Delphi Pascal and briefly in Cobol, Fortran, Lisp and Prolog. I won't bother listing numerous scripting languages.
[2] C++ has many features that many programmers don't know and care about. You can do without them and this is totally OK with me.
[3] Linked lists are simple data structures, not advanced.
[4] In AS3 there are some features that make use of namespaces which IMHO should have been implemented in other ways.
[5] Computer language design is my hobby. It's one of the two subjects I feel like I'm truly qualified to talk about. Of course, you are free to disagree. But my thoughts on language design has many years of background and it's unlikely that I will change my opinion on namespaces.
Also posted in Flex 8 Comments
Accessibility: Is a CC button deaf-friendly?
You learn something each day, sometimes it has a big impact.
Suppose you are designing a FLV video player. Unless the player is to be extremely simple, you will want to support displaying closed-captions/subtitles, either because you are truly accessibility conscious and care about it, or, because you find the idea of displaying subtitles for a foreign language movie cool. Surely, you will want to cover all bases.
Lets start adding captions support to the design:
- You will need to have a button, labeled 'CC', that toggles display of captions.
- Not all FLVs will have associated captions, so a feature can be to hide the CC button (rather than displaying it in disabled state) when there are no captions available. This will also provide more space for other controls, a slider may benefit from the extra space. [1]
- Some people will want to start with captions-on, so you will provide the programmatic interface to start with the CC button already clicked once.
Can you think of any other option? (Other than supporting multiple language tracks) Anything missing?
Until some minutes ago, I wouldn't know the missing option, and the CC button would be the symbol of my accessibility support.
Missing option is having captions on all the time without the CC button to turn them off.
What good is that for? Obviously you could have thought about this, but why would you want it?
Because, at a site for the deaf (which is what accessibility is really all about in this case), a CC button is not considered deaf-friendly. Captions must be present and displayed at all times [2].
Just like the way you (and I) think, 'let's not display the CC button because there won't be captions for some FLVs', you should also think, 'let's not display the CC button because there are times there will be captions all the time and they will never be turned off'.
A FLV player with a CC button, sure, is accessible. But if you really care about accessibility, you should have the option for not displaying that button.
That's what I learned today, from one of our Captionate [3] customers, who is creating web sites targeting deaf consumers, and who himself is also deaf. He is passionate about this. For him, it's not an option to have the CC button displayed, it's inappropriate, it's not deaf-friendly, end of story.
Could I ever, by myself, have thought about supporting captions without a CC button? Maybe… Could I ever have shared the passion about this? I don't think so.
Nothing is as simple as it looks, accessibility included.
[1] Obviously, if you have designed a player that works with different skins, you will want to have skins without a CC button (no captions support) and skins with a CC button that support captions. For the sake of this discussion, this is irrelevant.
[2] 'They can embed captions onto video in that case' will be too shallow thinking,
[3] We do not provide a player for deploying captioned FLVs with Captionate. We do not have a FLV player product.
What should be the new name for Flash Authoring Tool…
I hated the Flash Builder name change and found it totally wrong, it turns out some of my reasoning was caused by different understanding of what Flash and Flash Platform means. I've updated my definitions in my previous post, but my concerns about increased confusion are still valid.
If Flash Builder name is indeed to clear up confusion, logical next step is renaming Flash authoring tool, AKA Flash Professional or Flash IDE (or simply Flash before Flash Builder).
Flash is currently a catch-all name, can refer to a SWF file, Flash Player (AKA Flash Platform in marketing talk), the IDE and more. It's comparatively easy to change the authoring tool name.
Other tools by Adobe, that start with 'Adobe Flash', does not end there. Sure, now current usage is becoming 'Flash Professional' but this also creates its own problems (see below) and it sounds like it's part of the version, not the actual product name.
Flash Professional is the premiere tool for creating Flash content. The day it's gone, will be the day sealing certain death for future of Flash. It's more than an animation tool, or a designer tool. It's a complete development tool, which also appeals to designers. Some Flex/Flash Builder users don't get this. I can understand them, they just don't know what Flash Professional is and so they cannot appreciate it.
I think, in all fairness, Flash Professional is still a good name, which needs no change. But Flash Builder users, who think they are the professional users and the Eclipse plug-in is the professional tool, don't like how 'Flash Professional' sounds more 'professional' and above 'Flash Builder'. So, something must be done, sooner or later.
Suggestions coming from Flash Builder users like 'Flash Designer' and 'Flash Animator' are IMHO quite unacceptable. 'Flash Studio' might have been a good name but it's sure to cause more confusion as initial expectation will be that 'Studio' includes 'Builder'.
The new name, should not be unfair to the tool and it should not sound more professional than Flash Builder. It should not be too different from what it is today. Tough job.
But I think I have a good suggestion, something only Adobe can do:
Adobe Flashshop
That's it. Everybody knows Photoshop and this name IMHO fits like a glove and has a good vibe. What do you think?
Tagged Adobe, flash, Flash Builder, Flex Builder
6 Comments
Updating my definitions… Done.
In Flash world, even the most obvious and simple word 'Flash' has a dubious meaning. After online and off-line reactions to my recent posts, I have updated my definitions (actually they are not formal or complete definitions, but what you need to really understand when the 'term' is used unless the context strongly suggests another meaning).
Following may seem obvious to some (kudos to them), but it took me some time to come up with this. Hope it helps. Feel free to correct me if I'm wrong.
Flash
1 SWF file.
2 Adobe authoring tool for creating Flash Platform content (current version is Flash CS4 Professional)
SWF File
1 A file that runs on Flash Platform
Flash File
1 SWF file. Flash.
Flash Platform
1 Flash Player. Runs SWF files.
2 Flash Player and related tools by Adobe.
Flash Player
1 Flash Platform. Runs SWF files.
2 Actual file which implements the Flash Platform functionality. Most of the time either the browser plug-in or stand-alone executable version.
Adobe Flash xxx
1 An application by Adobe, which creates Flash Platform related content.
Flash Professional
1 Adobe authoring tool for creating Flash Platform content (current version is Flash CS4 Professional)
Flash Builder
1 Former Flex Builder. An Eclipse plug-in, by Adobe, for creating Flash Platform content.
Notes:
- After 'Flex Builder' got renamed as 'Flash Builder', 'Flash Pro' is the least confusing way to refer to the authoring tool which was simply known as 'Flash'.
- Expect a name change to 'Flash Pro' sooner or later, as 'Flash Builder' developers are unhappy how 'Flash Professional' sounds more professional than 'Flash Builder'.
Tagged flash, Flash Platform, Flash Player, SWF
3 Comments
What’s wrong with the Flash Platform?
When Microsoft bought FoxPro, leading database app of the day, in 1992, I remember, an intriguing question among programming community and geeks was whether MS will use the Watcom compiler, which was used for building FoxPro to that day, a compiler which was state of art at the time and better, or, use their own inferior MS compiler to build the next version of FoxPro… I never followed-up, and don't know the answer, still the question remains as a fundamental one. (FoxPro was later renamed as Visual FoxPro and died in 2007 at version 9).
A platform needs to be taken seriously. For quite some time Flash (whatever you meant by it) was seen as a toy for creating animations for the web, including the ones that made you look for the 'skip into' link and really annoying advertisements that hid content. Most of the time this was true.
Things improved in time, but it's always hard to change initial perceptions.
I'm now skipping pages of info that may bring the reader up to date with Flash history, for the sake of coming to my point.
I may be seeing what is not there… But I see the Flash Platform as the main platform of the future: OS-wise cross-platform, on both desktop and web, and on other devices… "Flash Platform" is not "Flash" (whatever you understand by it). You can't consider something as a platform just because you can write RIAs for it or it has a desktop component, or just because you have a few different editions. It's bigger than that. It has to be…
Java started with the promise of making apps that you write once and run everywhere. As I see it, it failed to achieve this. I see Flash replacing Java, achieving this initial goal. I see Java (not JavaFX) as a rival to Flash as a platform…
The developer types who were expected to jump into Flash train with Flex were mainly Java developers, as Java is also a scripting language, just like actionscript.
How do you convince a Java developer that Flash (platform) is better? Will you have any answer when he reminds you that 'recommended professional developer tool', now named 'Flash Builder', is just a plug-in for Eclipse [1], which is build primarily in Java? Will you have an answer when he mentions that the AS3 compiler is also build in Java?
If I were a Java developer, at best I'd say Flash might be better for 'animation and stuff' only. If Flash Platform relies on Java, then it's inferior to Java, as a platform, no need for further discussion.
I don't think embracing Java is an option for Flash Platform. Flash will be the platform of choice and the better one, or it will be a toy animation platform (with some scripting capability). I don't consider being open source or not coming from MS as valid reasons for embracing Java. Also I cannot picture a stable co-existence, with similar usage ratios, being 'second best' is not an option I will be content with.
With AS3 and JIT, as I had written before, I was hoping the AS3 compiler would be in AS3… AFAIK, this has not happened yet. For this reason, professionally as a programmer, I don't consider actionscript as mature. If actionscript is a serious language (even though it's a scripting language), it has to have a compiler written in actionscript (this is my idea for maturity, you are welcome to disagree).
As I see it, for success, Flash Platform should get rid of any reliance on rival platforms (Java, .Net etc.) as soon as possible. (3rd party tools are OK, after all, they are additional tools. I think a platform should provide at least basic building tools, sufficiently advanced, that does not rely on rival platforms. [As soon as possible may mean years - but I believe this should be the agreed goal]).
Silverlight is not a rival to Flash Platform, .Net is. Silverlight is the toy animation [2] part of (web part of) .Net Platform. I believe Flash, as a platform, should have bigger goals than beating that.
People ridiculed Microsoft, when they used Flash rather than SilverLight for promoting some stuff. I'm surprised I'm not seeing anyone mentioning Java use with Flash. Is Java a better programming platform, and Flash Platform is really only a sub-platform for animation (and maybe minor RIA stuff)? Is this the planned and expected future role for the Flash Platform?
Is it because it's so obvious that Flash will ditch Java use when the time comes, that nobody mentions it? or are my expectations for the Flash Platform unrealistically high? I wonder.
I can write more, but I think I made my point.
Watcom C compiler went to Open Source heaven in 2000. Borland C++, which was considered better than Microsoft Visual C++ compiler (MSVC) by many in its time, died even before Watcom. Whatever route MS took then, when building next FoxPro version in 1992 doesn't really matter now. Today, MSVC is alive as it can be at version 10 (as preview, to be released)…
(And I now think blogging more is sure to make me unpopular, so I will stop).
[1] I don't mean to show disrespect to "Flex Builder" developers (both actual developers and people using it). Sorry if I sounded rude, it was to make my point clear. I think "Flex Builder" should be a native or Flash application, in principle. I don't 'demand' it to be done 'now', but I believe this is something everybody involved should know and agree and expect as a realistic future goal: A better IDE than Eclipse in every way, written in actionscript, running way better than any Java app can run, in Flash VM… (Same applies for the AS compiler).
[2] Obviously SilverLight (or Flash) is more than just a 'toy for animation'. The usage is for making my point, hopefully, more clear.
Why I don’t think Flash Builder is a good name…
A man applies to court to legally change his name. Judge asks "What's your current name?", man replies "John Shit". Judge says "I see why you want the change. What would you like your new name to be?". Man says "James"…
I admit there was some confusion because "Flex Builder" could actually build more than Flex Framework based work etc. I admit another name be it "Flash Builder" or "XYZ" will help cut this confusion.
But the name "Flash" already means many things to many different people. Confusion around the word "Flash" is probably more deep than any Flex related confusion.
What is Flash? To me it's still the Flash authoring tool. For some it's the Flash Player. For too many people it's 'a SWF file'. Does anyone take 'Flash' as 'Flash Platform'? I don't think more than a few if any, you need to explicitly refer to it as 'Flash Platform'.
So is 'Flash' a 'platform'? Has 'Flash' become a 'platform'? I'd say 'yes' but not in 'words'. Confusion rules. And we are to welcome another member.
There are some catchy words, sometimes software companies use for all their applications, like 'Smart', 'Cute', 'Easy' etc. Then when they release any application they will use the cute name first, as a trade mark, like Smart Editor, Smart DVD Ripper, Smart Doc Shredder… I don't dislike the practice, it's totally fine and we can even do that in the future (if we can find a name not taken). I think this is what 'Flash' is becoming. Not a platform but a cute name, a buzz word you find on (hopefully only) Flash related Adobe applications.
I don't want see the word 'Flash' like this. I want it to refer to the platform.
If you refer to a "SWF file" as "Flash", then the word "Flash" can never mean the platform. This is something I strongly believe. Do you think someone when referring to a "SWF file" as a "Flash file" will ever even unconsciously think he is actually referring to a "Flash Platform file"? Do you ever think of a "GIF platform" when you refer to a GIF file?
'Flash Builder' is a better name than 'Flex Builder' in a sense. But if 'Flash Builder' is building Flash, then Flash is the SWF file, not the platform.
Does anyone remember how Microsoft guidelines urged developers for calling their applications as "XXX for Windows" and not as "Windows XXX"? (I assume they still do). Is it "MS Windows Word" or "MS Word for Windows"? Obviously when Windows was new this made more sense, it was totally normal someone would want to include the name "Windows" in their application name as "Windows XXX"… I hope you get my point.
If 'Flash' was a platform, then the new name should have been 'Builder for Flash', not 'Flash Builder' *.
This would have also caused confusion. Heck, it's still creating confusion if SWF refers to 'Shockwave Flash' or not. Unfortunately, we have to accept that 'some' confusion is here to stay. With correct moves you make it less, with wrong ones you create more.
There are levels of confusion. To the clueless, a guitar (with 6 strings) can look like the same as a bass guitar (with 4 strings) (I have actually seen this happen more than once). You can either call all guitars as 'bass guitars' which will, on the surface look like it has cut the confusion (but will create more in the future). Or you can accept that level of confusion as a fact of life, that cannot be fixed for the clueless at that level (At least you should avoid a move that will create more confusion than it fixes)…
I want to finish with a positive note. It's good that, myself included, now not many people think it's still necessary to avoid the word 'Flash' to make 'Flex, Flex Builder' taken seriously (by people with Java background etc. who may think Flash is 'animation with a skip intro button').
Another positive note: It seems most people, many fellow bloggers I respect, don't agree with me on this one. This means probably I'm wrong and this is a good thing because Adobe won't change the naming policy because I don't agree, Flash Builder name is here to stay. Hopefully, I'm wrong and the name change will be better for the Flash platform.
* I don't think 'Builder for Flash' is a better name, or 'for Flash' use will be better. My point is that you shouldn't use the 'platform' name as a prefix to applications that create content for that platform. If I were to make the decision, probably the next version of Flex Builder would be called 'Adobe RedLight'…
A Flash of Doom: An Alchemy That Works!
Awesome! One hundred percent pure, old-fashioned, home-grown, plain awesome…
Adobe released Alchemy preview version on Labs some days ago. I haven’t even yet had the chance to download it. AFAIK, it lets you compile C/C++ code to AS3 for Flash Player 10. It’s bound to have some limitations (but not much apparently), and I don’t want to talk about it more until I know more. (Update: You can get more info at Branden Hall’s post titled Understanding Adobe Alchemy).
Then I saw the post titled Play Doom Online on FlashMagazine. There, there was a link to port of Doom to Flash. (I must say that I don’t agree with Jens that Doom created the FPS genre of 3D games. I think it was Wolfenstein 3D). Anyway, at first it didn’t work. I do all my browsing in Virtual PC and in there the virtual graphics card has even less 3D support (actually, none I think) than my main graphics card which I choose as the cheapest card available as I don’t play any 3D games and don’t need any 3D acceleration at all. So I suspected if that was an issue. I also tried IE6 but couldn’t get past the first screen.
24 hours later, I tried again with IE6, failed, then with Firefox, finally, Doom appeared before my eyes. There’s no music but it was totally playable even in Virtual PC, on a real computer which can be considered quite ordinary today.
Of course, it was not the 3D that impressed me, I have seen my share of impressive 3D stuff done in Flash. I have also seen very successful, though I must admit not many, near-exact game ports to actionscript, AS2 actually. The magic here is Alchemy, what the author, Mike Welsh, wrote: ‘Recompiled from the original source by Mike, using Alchemy!’ (Of course, I think Mike, as the alchemist, did a splendid job here, kudos to him!).
This is big! I’d say Alchemy will be a key step in Flash Platforms evolution. Great work Adobe!
For Alchemy some new bytecode instructions were introduced to AVM2 (see Scott Petersen slides PDF). I’m not sure what this will mean for ASV. If we will be dealing with a full featured optimizing C/C++ compiler, decompiling back to C/C++ will be really hard work for us, that I can say…
[Update (2010): See http://asvguy.com/2010/05/officially-announcing-azoth.html for free Windows Alchemy Opcodes Injector]
SWF 10 Specs Available for Download
Wow, this was fast.
Emmy Huang announced the availability of updated SWF and FLV specs.
As for the action model of SWF 10, there were no changes from SWF 9. Considering that SWF 9 action model consisted of the DoABC tag which contained AS3/ABC data, this is hardly surprising. As far as I can see, the PDF that described ABC internals hasn’t been updated yet.
[Update note: Original link to Emmy's post was http://weblogs.macromedia.com/emmy/archives/2008/11/swf_10_spec_available_and_flash_player_alpha_for_64-bit_linux_on_labs.html]
Flash CS4 Trial Available, for Download and on DVD
A few days earlier than expected, Flash CS4 trial is now available for download (at least 889 MB) or you can order CS4 Web Premium trial DVDs* for a small sum, though if you are not in the US, probably downloading will be the better choice.
Languages other than English are available too, and also Mac and Windows versions. Mac and non-English version downloads are significantly bigger (at 1.13 GB to 1.75 GB!). As stated in the FAQ, for Flash CS4 trial "…software do not include some features that depend on software licensed from parties other than Adobe. For example, some codecs for encoding MPEG formats are available only with the full version of these products.". Trial period is 30 days starting with your installation.
You can win a CS4 suite (which includes Flash) at 25 Lines ActionScript Contest. You can also upgrade at CS3 upgrade pricing until February 28, 2009, from older versions including Macromedia Studio MX 2004, FlashMagazine reports (North America and for 'suites' only).
* Trial DVDs are not available for all languages. Japanese language trials will be available early December.
Comments Off
