Adobe creating the OpenScreen project , aiming to reove some licensing restriction on Flash and Flashlite format, giving access to some Flash porting API…
The spirit is of course to be able to deliver Flash on much more device than today. I am still amazed by the low REAL usage of Flash on mobile device. This could have been the enabler of killer app, but due to many mistake, mainly from Adobe, they missed their window of opportunity. This seems to be one of the latest attempt to reverse the trend. Is it too late?
One interesting things is that SonyEricsson has been a strong promoter of standards, and it’s interesting to see it for once doing some properietary API, and for a propietary technology.
This is also probably a bad news for SVG, which never reall took off, as an alternativbe technology to Flash for creating vector content on mobile.
For your records, it’s also something that we were doing in “Exen”, at In-Fusio, in the early 2000. The game engine was able to play Flash animations (but Flash 4 only) within Java, and for instance, use Flash clip as a sprite within a game. Seemed to be a good idea, but this has never been widely used in our games: lack of documentation, portability issue, etc…
Seems that mobile widget is a really fast moving area. Our first product (MobiFindIt!, a mobile search engine) has just been launched, and our second one, mobidget is not yet public (but you won’t have to wait too much) and we are already acquired! The happy owner of Mobease is Webwag, one of the actor of the start page space…
We were discussing, and even working together since some time, the WOD (Widget On Demand) being one of the first result of this great collaboration. I’ll will take the role of WebWag CTO. It’s a really interesting space, as we are one of the few company with a strong experience both in mobile and in Web technologies, Ajax, Web2.0, etc… But there is an incredible amount of work to be done, both for improving the current platform and adding all our cool new innovations. Widget are now increasingly popular, mobile widget are on the same trends too, the launch of the iPhone increased a lot the visibility on this space. Technically speaking, there are a lot of challenges, both on web and mobile (Ajax and his challengers like Flash, RDA, Mobile Ajax, etc….) that show that there are a lot of open possibilities. But more than technology used to achieve this, widget and personnal page are in my view the best example of web and mobile integration, where user can access to the same data from various devices. The usage (of these devices) will be different, but they all provide an ubiquitous access to your personnal datas and area of interest. As you guess, the integration of mobease technologies (Mobile Search, Mobile Widget) will provides a superior user experience when combined with the Web.
I will also speak as a Webwag representent at the next Benchmark conference on the Web2.0 this Tuesday in Paris.
May be you’ve heard the buzz about the Apollo project from Adobe. Basically, it’s a desktop framework that allows the execution of applications in a machine independant mode, and provide access to local ressources of the computer (mainly filesystem). The objective is to be able to use Web applications in a non connected mode (local) for various reseaons (speed, availability of network, etc…). This is also called RDA (Rich Desktop Application )
The first remark, is that it sounds very similar to the initial objective of Java, 10 years ago! A machine independant VM, internet oriented, etc… especially with automatic upgrade features that are now parts of JavaWebStart. I am always surprised by the way industry always “re-create” the same things again and again. The good thing is that each iteration is better than previous one, but now, after the “everything is on the browser”, we are back to “local applications”. Sun had the lead some years ago, but was totally unable to drive and support the market.
About the framework, himself, there is not yet so many information, but I am afraid that it’s just a good repackaging of a local Flash player with PDF and an HTML component…Nothing really exciting, but Adobe is very good at creating the right buzz and as always, got great designers that create apps with the right waoow effect. The positive side is that Ajax/HTML are not really good technologies to build rich UI, they are just hacks, so it’s time to have something better. Not sure that Adobe will bring something better, but the fact is that there are not so many alternatives yet. Microsft is polishing is WPF framework (ok, not polishing but starting) so Adobe may have a timing advantage here.
But I have a few remarks:
- This is not standard. By developping an Apollo application, you rely on Adobe as the only provider of a technology. You can not provide your own Apollo implementation for specific devices, like mobile phones for instance. It’s a step back from the internet open standards.
- Full offline capacities won’t be for Ajax/HTML: I am quite sure that the offline capacities will only be available for Flash/Flex application. In other word, an existing Ajax/HTML based application won’t be able to run offline , or just as the equivalent of a “save as” mode, unless it will be rewritten. So do not expect to “port” your existing application now. It’s the best way to push you to adopt Flash/Flex.
My last remark (and linked to the first one) is that on mobile for once are not to far away. The availability of Ajax enabled browsers was limited (read non existant), so all rich applications are made using this kind of concept through J2ME, FlashLite, native, etc…and framework (like Mobease Widget one) are built on top of these technologies.
As I’ve previously explained, mobile is most of the time more about synchronisation than browsing (for mails, address, news, etc…) and such locally running app with connected capacities are the best answers.
That’s why Apollo go into the right direction even if there is still a lot of weaknesses in the approach, so let’s see how others react – Microsoft is doing WPF . Is there any attempt from the opensource community to propose something like this? OpenLaszlo? FireFox with XUL?
Note: during the preparation of this note, I’ve discovered “SideWinder“, which seems to be a project that attempt to build a framework for connected/non connected internet application. Seems highly interesting, but also not very mature as I was not able to run a single demo…
The FUP maturity model: Features, Usability, Pleasure. Do not forget the Pleasure of using and app.
Deliver your promise: you cannot improve low quality app with just eye candy and visual attractivness…
Entertainment vs Enterprise type application and impact on design
FlashLite as a tool to prototype mobile UI: I totally agree, it’s one of the best tool to quickly test and geet feedback on innovative UI even if it’s not always the target technology.
Worth a read for all mobile developper/designers (and yes, In-Fusio has contributed to this nice doc!)
My remarks is that I hope that S60 Nokia UI designers will adopt this principles (especially the FUP on the Usability/Pleasure part!).
So what I like the most is this FUP concept: Features, Useability, Pleasure…Frequently, the balance is not well done in all of these. We have some great featured product, but not fun at use, or good looking one, but totally unseasable. It’s usually very hard to mix both, but some achieve to do it. A good exemple is this “discoapp” for Apple. It’s just a simple CD rom burner program, but the interface is not only very readable and clear, but fun too. A good example of well balanced mix, look at this video of what happens when a CD is being burned:
Sun/Laszo announced this week that they will work jointly on a new project called “Orbit”:
“Orbit” is an exciting collaborative effort between Sun Microsystems and Laszlo Systems enabling OpenLaszlo applications to run on devices supporting the Java™ Platform, Micro Edition (Java ME) application platform. This project will be delivered as part of the OpenLaszlo “Legals” multi-runtime effort, with first demos available before the end of 2006.
The promise seems a little bit big, so I excpect that exported application will have some limitation, but it is a nice idea to follow. Could this effort help to solve the “Widget fragmentation” issue?
Adobe announced today the acquisition of some technology from Actimagine, a French (yes! ) company specialized in creating technologies for mobiles.
Actimagine is made of smart people, and yes, their technology is truly optimized for mobiles devices. Their other product, Mobiclip, has been launched with big brand like SonyEricsson recently, with their MobileCinema product who allowed to haves a full movie in 256 Meg, fitting in a memory stick card.
But this announces tells also that FlashLite was not ready for mass market phone, for probably two main reasons: too big (in size) and CPU intensive… So path will probably be long to fully integrate this technology and provide the same experience than on other FlashLite implementations.
One of the next buzzword these days is “Mobile Ajax“, as THE technology that will save mobile applications. This was especially true with the recent announce of “SoonR”, the first mobile enabled Ajax application. Looks good, but unfortunately, I have no Ajax enabled browser out of the thousands of handsets we have here at MobileScope….
But this generates some buzz, and as usual, some hype. So, in a “back to reality” attempt, I’ve tried to discuss a few myth of “mobile Ajax” here:
Mobile 2.0=Mobile Web2.0 (and Mobile Web2.0 = Ajax on mobile). Wrong, as this imply a choice of technologies. The good thing (or is it a bad thing?) with mobile, is that there is a huge choice of technologies. If mobile is connected, does not mean that it is connected only through browser.
Ajax applications will run the same on mobiles than on PC, and this will save us some porting costs. Wrong! Seems that the Write Once Run Anywhere myth is back!! It was actually already not achievable through technology designed for this, so I did not see how Ajax app (which is basically designed for one or two platform) will be able to address suddenly thousands of different platforms….. And all the existing so called mobile Ajax applications are ALREADY specific for mobile. The SoonR mobile version is not the same one than SoonR on PC….
Ajax applications are a way to by pass operators….There is
absolutely NO link between operators and this. Java, Flash, Symbian
applications can be acceded directly by end user as well as Ajax
applications (and with a bigger installed base). In fact, there is a
link: as an Ajax is an online application, it’s easiest for them to
block certain site if they want too….And no way to install it outside
the browser! The biggest issue is not the access, is the billing…Or
the business model. How to make end user pay for services in an easy
I like Ajax as one of the technology that I could use to create a better experience, but as discussed in one of my previous post, I think that the complexity needed both in the browser and the application is unnecessary on mobile device, and we should take the mobile opportunity to solve some of the technical issue raised by Ajax on the web. There is also an interesting article from Dioan Hincliffe raising a few of the Ajax issues: Seven things that every software project needs to know about ajax. A few of his remarks:
Ajax applications are complex applications (even if they are doing simple things). This leads to this comment: “Good Ajax programmers are hard to find”
The browser model (of Ajax) haves some limitation: no way to access to some local resources of the handset…
The browser was never made for Ajax. In other way, ajax developer used the installed base of modern browser to create something unique.
Now, back to mobile….Should we try to duplicate current ajax complexity to mobile, with one model, or can we try to solve some of the issues of Ajax?
I am a strong believer of the last option. There are already three technologies that will play significant role in the future: J2me, FlashLite, and Ajax. Only one is really deployed now and it’s J2me. FlashLite is on the way and Ajax far from being a reality yet. But these three are complementary, and could work together in a perfect way, in a different and better model than on the web.
The Verizon Wireless Chocolate is one of the first north american phone with a vector based MMI, based on FlashLite. Result is quite good, and wall paper can also be a FlashLite file. The second and third level are a little bit disapointing, but the first level seems to be great. Unfortunatly, it seems that new UI can not be created by end user, or downloaded….
Through: Marco Casario blog….
First, I apologize for being late for posting my Friday digest about Flash, especially for my first hosting – not mentioning the fact that our national team win finally a match! It’s a difficult task, as I am relatively new observer of the FlashLite community.
So, here are a few pick about the great post this week. An interesting announce of Mobilitee about the creation of a new company, AdHoc mobile, with an objective to bring revenue to developer through Mobile Advertising, in an non intrusive way. Application centric mobile advertising seems full of promise, for all type and all application size.
I use the opportunity of this digest to highlight another very interesting blog related to advertising: Adverblog, “Passion for advertising“, and that’s probably true! I think that there is plenty of idea for Flash designer here.
Marco, as always, has a plenty of useful information around FlashLite, and the big news from the past weeks was the FlashLite2 Brew extension, and provided a good summary of the interesting features.
Another post that I want to highlight, is BryanRieger post about Mobile Hypercard: developing for mobile is extremely difficult, and even, FlashLite is far from being useable by everybody, like HypercardWas.
Lastly, I want to mention the announce of “Ikivo Animator 2.0″ which support SVGTiny1.2. It will be interesting to see how these two competing technologies will evolve.
Nothing related to Flash, but takes a look at this cool resume Web2.0 oriented….
All the previous flashLite Friday posts can be found as usual here
First, let me restate something: I am a strong promoter in Flash, but after some weeks of usage, I am still wondering why it does not match my expectations in terms of productivity. It seems that I am taking too much time for doing simple task. Why?
Here is a few of the points that I’ve identified:
Lack of UI toolbox
The biggest issue, especially for me, is that I spent too much time on things that are not my core competency: graphics! When trying to create user interface using Flash,there is no toolkit to create common UI element, like button, menus, etc…. I know, it must be easy to develop them using Flash, but mine really look crap, and then I have to spent a big amount of time with things that I do not deal usually; create nice looking button, put everything in place to do a scrollbar, etc…
So what is really missing, for me, is a toolbox of usual UI component (menu, buttons, textbox, checkbox, etc…) that just can be drag-dropped on the screen, and easily manipulated, eventually customized, as well some common “effect” that could enhance the UI.
The weakness here, it’s that its ‘too’ open, you have to create everything from scratch. You have to deal with concept that I usually do not care about, to understand the philosophy of Flash: all the tools, layer, etc…usefull for designer, totally not needed for me. I hope that market will mature, and some people (Adobe?) will provide such common toolkit, as well as some “skins” for these toolkits, still providing the ability to create everything from scratch. In fact, I’ve just realized that Flash is a low level graphic vector engine, and not an high level UI engine.
An application is not “linear”
Your application is presented through the “timeline”, on the editor. It shows, in a linear way, the various frame that correspond to your application. But an application is not linear like this: you go from one screen to the other, from main screen to parameters, back to main screen, then go to another one, etc… So, the ActionScript code is full of “goto”…The exact same goto that has been banned decades ago from high level programming is back in Flash.…
The stage view in Flash: all linear
The Flow design view in Netbeans: flow oriented
(I don’t think that NetBeans is better than Flash, but it’s just my understanding of what could be an higher level view of an application logic)
Where is the “developer’s view” in Flash?
The other weakness, it’s that it’s not a developer environment. It’s really a nightmare to figure out where is your code. The window is too small, very few feedback. ECMA script is not a so bad language, it’s not very fast, for sure, but it’s especially the lack of “developer orientation” which is a big problem in Flash8…
So, what is the solution? I would like to see a tool, may be using Flash as a low level technology that would allows me to focus on rapid prototyping, providing me predefined but customizable element. I would like to see a clear separation between code, and UI design and elements…And may be some higher level abstraction, like the one proposed by Netbeans…
I might be missing some important point, like the right tools, widget sets, etc…so please, if there are some developer who now some of them, I would be happy to test them….
In the meantime, I have to improve in Flash, learn a lot of things that I hope will let me be more productive once mastered….
Technorati Tags: flashlite, javaeé, j2me, mobile
One obvious and interesting trend in mobile is the rise of vector based graphics and MMI. All new mobile graphic engines are more or less vector based, much more than 3D based. Of course, a 3D engine is also a vector graphic engine, but there are some fundamental differences between the two, much more at the creation level then at the rendering level. Interestingly, on the desktop, UI did not changed a lot since years and does not use a lot animations. Even if more and more desktop rendering engine are vector based or even 3D based, the display itself does not take really advantage of this: no animation, etc…
So why vector graphics are so adapted for mobile:
in a limited space, animation is a way to provide a much better feedback to
the user (compared to stand alone graphs)
there is no “standard” UI for mobile yet (even if there are some
emerging trends). The learning curve of something new is very fast compared to
desktop, so you have the ability to explore new metaphore.
vector graphic is an easy way to solve the screen size and cross platform
tools are adapted for UI designer (Flash for instance).
size: vector based animation haves usually a much smaller size…
Several companies are investing the space right now. Of course, Macromedia/Flash should be one of the early winner on this path. However, as I’ve put more effort in the past weeks on Flash, I can tell you that but Java not so far away, thanks to TSVG and JSR226. On the browser side, seems that the path is still a little bit long, as we are still waiting for good browser (Opera is a good starting point).
I’ve just make a short “list” of companies related to this area:
Does security will raise some complex issue for Ajax based app?
One of the benefits of Ajax is that the “application” does not reside on the client, but is downloaded each time you access to the server eventually with some caching mechanisms. This mean that transparently the application can evolve, include new features, etc…
One of the well know weakness of browser based app, is the fact that these application can not access to local resources of the device, like Bluetooth, address book, GPS, etc…
One of the possible (and probable) evolutions will be to provide some specific API to these applications to access to local resources. Fine, but this raises more the security problem: would you give an unlimited right to any browser app to access to your private data? Of course no, but then, how to manage this: by providing a certificate per session? But disabling access to this device?
For downloaded app, the solution as been solved by putting a certificate mechanism. This provides some advantage, as only the “trusted” application can be downloaded. The disadvantage is that it’s very costly, in terms of money, time . But in all cases, this can not be applied directly to Ajax based app…
I have no clue on how this will be solved, I am just worried to this issue has not been addressed by promoters of the “full Ajax” solutions for mobile…
Protohaus has a nice web site with some study on various types of UI for cellphones, from Boxes, can, iPod, etc…Most of them contains a small Flash sample of the principle. Very interesting, and nice example on how Flash(Lite) can be used to create great UI…
Another “new” company in the “ODP” business (on device portal), Everypoint. Interesting is that just got more funding (a total of 10m$). The product is J2ME based, but hard to see what will be the key differentiator with the others (SurfKitchen, Streamezzo, etc…)…One more on the watchlist….
I had an interesting meeting during 3gsm with Ikivo CEO, Stefan Elmstedt and of Ikivo engineer, Sebastien Ruggeri. Ikivo provides some SVG implementation for mobile and some related tools. SVG was covering mainly the rendering part of vector graphics (or that was my understanding). So if you compare to Flash(Lite), it was just the vector graphics rendering part, and not the ActionScript part . Now TinySVG1.2 include some interactions and scripting capacities that can be embeeded into the file. In fact, it can contains a Jar file (and then interaction is done through JSR226) or some ECMA script. That’s quite interesting, and is a challenger for FlashLite. Unfortunatly, SVG content is quite poor yet, for two reasons in my view: lack of good tools (and I do not talk about Ikivo product, but of an equivalent of Flash), and lack of experimented designer with the technology. This still require some investigation (is scripting mandatory? thats unclear for me). But what if this happens, this is a great way to go into the path of integrating several component around J2me. So the SVG vs FlashLite battle is about to begin….
There was several interesting discussion, about what is equivalent of “Web2.0″. Some call it “Mobile Web2.0″. My perception is that it will be more “Mobile 2.0″, as the mobile does not imply the same approach as Web. Why? There are fundamental differences now between mobile and web (and mostly from a tech point of view approach):
User Interface on Mobile is Key: that’s one of the main difference between a PC and a mobile. On a PC, you have primary a keyboard, and a mouse. These are the two main input components, and a big screen to display user interface. On mobile, you have a very limited display, but much more input possibilities: audio, video, picture, movement, environment (Bluetooth), location, but very limited keyboard and mouse equivalent. So the best user experience will probably tightly link to the multimodal capacities of the phone.
Mobile is more about synchronisation than browsing. The trend now, on the web, is to provide you most of the user experience from a browser. This happens for two reasons: most of the people are now connected with high speed connection, and the emergence of high quality web browser. On mobile, we do not have these two components: connection is not always cheap, not always available, and not
always fast. Browsers are very limited and not really full featured….
So what are the conclusions:
That Mobile2.0 will be in my view a smart mix between several components, able to
connect to a server to update local content, or to update server content from local data (synchronisation)
execute locally some complex task, mixing several inputs (local, web, etc…), and store this result locally (to be later synchronized)
From the end user perspective, this will be transparent (no need to care about installing an application). I think that technically speaking, it will be a combination of browsing based technology (typically XHTML) and some smart client like J2me, FlashLite, or just plain voice call or DTMF….
There won’t be any single technical answer to the frangmentation problem, as mobile is an innovative media, and then innovation generate fragmentation…
I am following Macromedia (and now Adobe) efforts in the mobile since several years, and FlashLite became more interesting recently. Not due to the introduction of FlashLite2.0, which I do not think is the key point, but due to the support -even partial- of SonyEricsson after Nokia.
That’s why, in this entry, I will try to analyze what could the key success factor (and of course, weaknesses) of FlashLite.
Strengths of FlashLite:
Good development environment. The Flash authoring tool is a good tool for designer, and allows them to create quickly great animation, very hard to achieve in a non vector graphic based environment.
Good graphical performance: easy development of UI, etc… A Flash Based UI is easy to do, with great features, fun feedback, especially for mobile phone. I usually do not like Flash based UI on the web, as designer tends to recreate their own metaphor, but one the mobile, there is still a lot of room for UI creativity.
Proprietary technology. That’s the good side of being proprietary: you can do what you want, include feature without asking the community, making mistake, solve them, choose to support something, etc… very quickly. But there is a downside!
What could slow down or eventually kill FlashLite:
Macromedia/Adobe just start to really experiment the issues of platform interoperability. For instance, reading the notes from FlashLite1.1 documentation , and from the experimentation I have on my phone, I have realized that even in the Flash world, things are not so easy…
On most of the phone, player CAN NOT be updated! So if shipped with million of phones, then it will remains for some time. No nice screen asking you to update to FlashLitex.x if a feature is not present.. That’s the same problem with MIDP* Proprietary technology! And operators do not like this. If the choose Flash, and then it became a market request, than they are stuck with Macromedia.
FlashLite, in my view, is still a Designer technology. I recently do another attempt to do something useful using FlashLite, and no doubt, development environment is still designer oriented, and not developer oriented. No doubt that’s a clear choice, and one of the strength of Flash, but this means also that this will restrict general usage of the technology. Learning curve will probably be bigger for developers.
A success of SVG/J2me…SVG just manages the animation part, and the spirit is that J2ME manage the behaviour. On the paper good, but there are several issue: first, there is not yet a good environment development (like Flash) to enable this. Then, J2me app must be downloaded and installed. Then can not add downloaded code on the flight. This limits a lot the possibilities. I guess that something like a SVG+a scripting language (with a J2ME based interpreter) might solve the solution.
Don’t take me wrong. I think that 2006 will be a big year for Flash, and I will try to investigate more the technology, as it provide many great advantages today, compared to alternative.
My ideal whish is to see the emergence of a better “cross technology” compatibility/communication, between the major ones: JavaMe, which is the clear leader, FlashLite, a true challenger, and the new generation of mobile HTML (the Opera Mini trends, Mobile Ajax, etc….). This does not happens yet…..
I’ve just started to look more deeply into FlashLite, as it reach more handset. I’ve found that my K600 haves FlashLite, and tried to get some application for it…I’ve been to MarcordmediaExchange website, and around fourty FlashLite1.1 were here….Great I was thinking..but was is this small notice near the app: SymbianSerie60, and here, Symbian UIQ? waoww…I thought that all FlashLite1.1 were more or less interoperable (just like J2ME). But in fact, all these files were “SIS” file, the one used by Symbian…The nightmare begin! Why? No clue…..
In fact, in the SDK example there were some SWF file to play with: not veyr impressing by the way, and not rendering very well on the K600.
So my first contact with FlashLite was not as good as expected….Please, do not do the same mistake than your competitors, and facilitate true interoperability!
2005 was probably the most exciting year since 2000 for the Web, thanks to the thousands of new projects, most of them based on the usage of AJAX to create a new and compelling user experience. One interesting question for me, involved in mobile, is what will be the impact of this revolution for mobiles?
Well, seems that the Ajax buzzword will be in all mouth in the coming months, and Opera is already surfing on this.
Thirst thing, is do we need Mobile Ajax?
I think that with the generalisation of data network (GPRS,EDGE or 3G), the services will be more and more interactive. But the current technologies are far from providing a compelling user experience on mobile. Wap (or even HTML) applications look like ’99 Web app (for the best ones). So I believe that looking at what’s happening on the web, many people will provide these improvements to mobile, and this will be an improvement.
And one side note: Google local for mobile IS NOT a Mobile Ajax application (just like J2MEMAp). It’s just a monolithic application created for mobile, which can not be updated, or changed OTA (unless you reload it). I guess that I should define what I think is mobile Aj
So what are the various technologies available, or do we need new ones?
A first answer is to say that we already have one technology that could fit to Ajax requirement: be able to execute locally a small program downloaded remotely to add interactivity in “web pages”. J2ME (oh, sorry Mr Sun, JavaME) seems to be perfect for this. It’s a small bytecode, cross platform, web oriented, etc… However, J2me (in fact CLDC) failed in one important topic: the inability to download OTA some new byte code. So an application, once downloaded, can not be easily changed, modified, etc…. And even worst, you can not jump from one app to the other: from a calendar to the address book for instance. So if you want to do something great, you need to create a -relatively- big monolithic J2ME application. And I do not speak of security issue (see below).
One the other hand, there are plenty of advantage to J2me, and this could be a good candidate for being the scripting language for mobile Ajax application, or the framework basis for this, but it needs to evolve a lot if he wants to achieve this level.
One option (the one used by Opera) is to write a browser in J2ME who contains some Ajax component. Honestly, I did not take a deep look at the opera mobile (the J2ME version) right now, but I doubt that the have a scripting engine in this version…And what will we have at the end: an interpreted VM being able to run interpreted scripting language… And I am sure the several other initiatives are one the way.
The alternative is not numerous. Flash lite could be a candidate, but the first issue is the deployment: very few handsets yet have it right now. But technically speaking (and here, I am not a FlashLite expert) it seems that many of the J2ME limitation does not exist anymore, especially the one concerning the limitation of an application to one single binary. And probably the first truly mobile Ajax experiment will come from here.
But whatever is the option, I except a lot of buzz on this, conference, announces, etc for the second half next year! So let’s be ready for the Ajax wave on the mobile,….