preload
Mar 29

For now, I decided to stop using Adobe Flex. Why? I will explain you now….

After completing 3 iPhone applications and having them available in the App Store, I wanted to continue on web development. Simply because its target audience is much broader, the content is not limited to iPhone (and iPod Touch) users. After some pleasant experiences with Adobe Flex and the FDRIA course I chose to work again with Flex Builder 3 on a new Rich Internet Application.

But I could not help getting an increasing unpleasant feeling on this technology. My applications are focused on clinical decision support, and I do not need highly visual interactive applications now. It’s all about content, and making that content available quick & neat. I like(d) Flex for the ActionScript language, the rapid application development, and the beauty of the user interface.

I did not like the filesize of the SWF files. Just a simple text-based application took up 250kb when it wasn’t even ready! Actually, I need to give credit to whom deserved it: I read a tweet by @taudep (Todd Prekaski) on the filesize of one of his Flex apps, when he compared it to Microsoft Silverlight. Silverlight did a much better job, in that case. That was my incentive to check on the filesize of my app: way too large. The demo of Flash Builder 4 did not make a difference, it just messed up my app (which is okay if innovations outweigh the need for backward compatibility).

I did not like being dependent on the Flash player, although it may be installed at 99% of desktop devices (not mobile at this moment). It seems to be slower, it’s not open-source, and vendor lock-in is a risk. Being dependent on the Flash Builder as well. I know the Flex SDK is open source, but without the Flash Builder it’s not fun working with. Of course, Adobe has the full right to do what they want – I have mine to choose.

I did not like the frequent bugs in Flex Builder. And yes, it was a bug in the IDE, and not in my code. A bug other people have been complaining about as well. Regularly I got an error message when building an application that I could not track down to the code. Just doing a Clean Build would solve it. Every time again (of course, sometimes the mistake was mine, but that turned out rather quickly).

And although not as important as the rest: I did not like all the iPad bashing by Flash evangelists. All right, you may be disappointed when the iPad turns out not to offer Flash support. You may add a #fucktheipad hashtag to your Twitter posts. And you may create some screenshot mockups of the iPad displaying Flash-enabled websites (that do NOT match reality, as has been demonstrated for Disney’s website on the iPhone). You may all do that… for one week. Arbitrary period, I agree. But the whole point is: continue your job and tackle the comments. Sure, I understand Apple is making money from the App Store. And allowing Flash-enabled games would reduce Apple’s income. But Apple is a business, not a charity foundation. Just do your job, and don’t tell other people are wrong… prove it, do a better job, and convince customers with a fantastic Flash player. Not with whining that Big Steve did not invite you to join the party.

That having said, I like to add I am still interested in Adobe’s technologies, and may be returning to it in the future. I think their cross-platform desktop development using Adobe AIR is good, Flash player 10.1 will be interesting for mobile devices (if battery rundown will not look as a Flash animation ;-) ) and the Open Screen Project is a good initiative in my opinion. But for text-based websites, I have chosen a different approach.

From my web development history, I should say I am going back to HTML & scripting. But actually it feels like “going forward” instead of going back. I have read the Head First HTML with CSS & XHTML e-book to update my knowledge on HTML and CSS. Currently I am using the Head First series for updating my knowledge of JavaScript and PHP/MySQL. Further I am looking forward to using a cross-platform JavaScript library. I bought a book on Prototype and Scriptaculous from the Pragmatic Programmers, but after some further reading I think I’ll end up using JQuery. All that using the Aptana Studio IDE.

I am looking forward to this new and open-standards technology. And to do some cross-browser testing, which is the other side of my current choice…

Tagged with:
Feb 24

By now, the updates for NeuroMind and Safe Surgery have been approved and are available in the App Store. Which made me remember to update the screenshots of NeuroMind! I uploaded new images (of the screens that changed) for the App Store, and on my website.

Recently I re-discovered how to use the magic wand tool in Adobe PhotoShop, so it was easy to remove the extra whitespace surrounding the iPhone screenshots in landscape mode, and put them a little over the four “portrait-oriented” screenshots. Which I think makes it look prettier.

The screenshots are meant for use in the NeuroMind section of this site, but for fun: here they are!

NeuroMind v1.1 screenshots

(click for large version)

Tagged with:
Jan 31

Last week Apple introduced the iPad, a tablet device in the middle between iPod/iPhone and MacBook computers. Immediately there were many responses on the web, both positive and negative. Let’s start with the funniest one that touches the topic we’ll discuss in detail.

A comment that kept coming back in many reactions, is the lack of Flash support. Whether the topic is 8 Things That Suck About The iPad or iwantflash.com, the message is the same as the blogs from Adobe people like Serge Jespers and The Flash Blog: Flash should be added to the iPad!

But should it? Apple’s official comment after iPhone release has been that Flash was too resource consuming, and for a phone that comment has been accepted. In the meantime anyone who has been following the App Store development and Steve Job’s keynotes knows that the App Store is a lucrative initiative, and allowing websites to display Flash-based games (especially games) will reduce Apple income. All right, that’s business, isn’t it?

The Apple iPad has been described as “impossibly fast” with Apple’s own A4 processor. BBC has high expectations of the new device, as has The Guardian. And from a medical perspective, opinions are mixed. John Halamka, CIO of Harvard Medical School, is in doubt about the success in healthcare, doc2doc is more negative. The same can be said for Healthcare IT Squad.

What is my opinion, as an IT-minded medical doctor? I am looking forward to the iPad, but in the first place because I want an affordable color-enabled e-reader for scientific literature. Second, this e-reader (or iReader, as you want) is programmable to perform tasks. Which could support guideline implementation. Whether you call this e-guidelines or clinical decision supporting systems, is up to you. As long as we both know what we’re talking about.

Is Flash necessary for that? No, but it would help. I fully agree with the excellent post of John Nack, and as a Flex-developer I definitely would like to program in Flex and ActionScript. I am really not fond of Objective C, it’s unneccesarily complicated. Who needs a separate @interface and @implementation?

Adobe’s initiative of the Open Screen Project is good. Even better, I think it is very good, and I am glad that companies like Google, HTC, Nokia and RIM are supporting it. On the other hand, depending on the sort of application, Flash may be just “too much”. I work on a new MacBook Pro model, but remaining battery really goes down if I have some Flash sites open. As much as CPU usage and core temperature goes up. So it perfectly understandable that the new mobile Firefox will disable the Flash plugin as the default setting. Reason: too much energy consuming. Although Mozilla offers a good alternative: you can choose to enable it, but then on your own responsibility.

So I do have some suggestions for developers, Apple and Adobe.

    To developers: I have high expectations from Adobe’s Flash Player 10.1 in combination with the Open Screen Project. I think Adobe’s technologies are very promising, targeting almost all devices, except the iPhone and the iPad. For those latter two, you have alternatives besides XCode. Flash CS5 will provide export as native iPhone apps, OpenPlug’s Elips Studio 3 seems a fantastic tool for Flex developers who want to do iPhone development, and there is always the alternative to keep apps purely web-based. This skips the App Store, which you may like for reasons described on O’Reilly Radar here and here, as well as on Adobe’s Flash platform blog.
    To Apple: you make wonderful hardware and software, and in the first place I think it is your right to determine how you want to incorporate your software on your hardware. But for the future, I think you do need to offer people choices. You have been criticized for coupling the iPhone to just one telecom provider, and you had to let go of your strict criteria. Don’t make countries create laws for open and accessible platforms. Offer people choices. If you want them to pay for that, that’s your right. But let them choose. Look at what Firefox did, and learn a lesson. Allow people to install Flash on their own risk, of wich decreased system performance might be the major one for badly designed websites. These are included in the web experience you promise us on the iPad, but that’s not delivered now.
    To Adobe: stop whining. If Apple decides not to offer Flash, that’s too bad for all of us, but let’s find an alternative then. Your CS5 iPhone efforts and OpenPlug’s efforts show one opportunity. Google Web Toolkit (GWT) shows you the other. For the App Store, converting ActionScript code for rich media content to Objective C is the best you can do now. Focus on that, because Apple will allow native iPhone apps in the App Store. Of course. For web content, find a way to do the same with ActionScript that GWT does with Java: convert it to HTML, CSS and JavaScript. That won’t work for everything, but I think that many decent Flex apps could work this way. Then you can win the battle: rich media content goes the the App Store with a separate notice on the website, if viewed on the iPhone. Flex-driven apps can be translated “a la GWT” and are visible as well. Maybe with some inconsistencies due to different browsers and JavaScript versions, but that’s still beter than no Flash (or no up to date Flash) at all.

So to answer my own question: bashing or flashing the iPad? Neither of both! Looks like a nice iReader+ to me, with basic web capabilities and some iPhone features. One that’s fast, has no booting time, and with a large screen. And one that runs Papers! That’s not bad, is it?

Tagged with:
Dec 14

In the first week of December I did the course “Flex 3: Developing Rich Internet Applications” with Prisma IT near Rotterdam, The Netherlands. It is a combination of two separate courses: “Flex 3: Developing Rich Client Applications” and “Flex 3 and LiveCycle Data Services: Integrating with Data and Messaging“. And I am quite proud to present my certificate… as I do not know that much doctors who are quite serious into programming and software development themselves. To be honest, in neurosurgery I don’t know any (other) of them…

Kubben_FDRIA

I really liked the Flex 3 course. Although I had some experience with Flex and ActionScript from the NeuroCards application and reading some books, the course was:

  1. Good to refresh my knowledge
  2. Very good for some tips and tricks you don’t learn from books
  3. Excellent to discuss some broader topics on programming

Before I went to the course, I was really in doubt whether I should focus on learning Java for web development with the Google Web Toolkit, or expand my knowledge on Flex and ActionScript. After some discussion with professional programmers who worked with all of them, I am confident that staying with Adobe’s techniques is the right decision for now.

Flex offers better tools for visualization, call it infographics if you want. And as a MD in neurosurgery, I truly believe (and experienced!) the benefits of mindmapping to combine “left hemisphere learning” with “right hemisphere learning”. Besides, the ability to deploy both for the web (although it requires the Flash plugin, but it’s installed at most computers) and all desktop platforms (using Adobe AIR) is very attractive.

The one thing I am curious about, is whether FlashBuilder 4 (the new Flex IDE in development) will support iPhone development with ActionScript, as is published for Flash CS5. Oh wait, Adobe Labs has a post on this: in 2010 we can expect a mobile Flex framework called Slider (whitepaper) that may work on iPhone as well. Because I do not like the timeframe-approach from Flash, I really prefer Flex… but maybe we can work with pure ActionScript from within Flex?

Anyway, I am curious on this… currently I am finishing my first iPhone application and then I will quickly round up the second one. Then I am really looking forward to start working in Flex again, it’s just a lot cleaner than the iPhone SDK where DRY seems to be a way of life… as you notice, I do not like the different @interface (*.h) and @implementation (*.m) approach. And although I understand why memory management is useful here, I am not really fond of it either! ;-)

Tagged with: