JavaFX Mobile Custom UIs

With the  launch of JavaFX Mobile around last week’s Mobile World Congress meeting in Barcelona,  it’s time for developers to start thinking about the best ways to build mobile apps using JavaFX.  The range of form factors that JavaFX handsets will have means that UIs will need to be designed that adapt to the characteristics of the particular device they’re running on.  For example,  a JavaFX Mobile app running on a touchscreen phone may be best served by having a UI that responds effectively to gestures.

So, I thought I’d experiment with creating a custom, gesture-aware control using JavaFX.  I wanted the first mobile-style control I came up with to be super-original in concept; and yet be easy to learn, and easy to use.  I think I succeeded – I’ve not seen anything quite like it anywhere else, on any mobile platform.   See the screen shot below:

vistascreenshot

Anyway, if  you head on over to JFXStudio.org, you can run the app and read some short notes on this little experiment in creating a mobile UI by using JavaFX Script…

Comments

  1. Asam Bashir wrote:

    The shading isn’t as good as iPhone, and the real thing pulses the letters from right to left.

    I suppose it would look ok on China iPhone running JavaFX…

  2. simon wrote:

    iPhone? You mean Apple copied my original idea for a UI control? First Apple copies Microsoft for the whole Mac OS X user interface, and now they’re copying me for iPhone!

    Seriously, though, you’re not wrong. That’s my fault: this was just a quick hack; so, in many ways, it really is a cheap copy ;-)

  3. Asam Bashir wrote:

    Yes, and in a proper mobile phone development suite, like Xcode and iPhone SDK, it’s two clicks to create same effect, without needing the additional overhead of having to run a JavaVM. How can Sun implement uniform standards of user-interface to a mobile phone industry that has no defined standards. There is nothing I have seen in JavaFX thus far that gives me any confidence that JavaFX applications will be any better then Java applications. Sure, quality of images and details are easier to implement and design, but that alone is not the key to a consistent user-interface experience…

  4. Asam Bashir wrote:

    Cheap applications on cheap phones, what’s the business model here and why is it any different to what we’ve seen of Java mobile applications over the last ten years?

  5. simon wrote:

    @Asam,

    A few points, to address your points:

    - In this example, I was playing with custom graphics rendering. I chose the iPhone example because I thought it was amusing. Anyway, the point is -custom graphics is never just a few clicks in any kind of development tool. Custom graphics always requires writing actual code. That’s not something developers are scared of doing, btw.

    - One of the nice things about JavaFX Script is the way it makes it easy and fun to write custom graphics. It’s probably the most fun platform for coding custom graphics I’ve seen in a long time. Is the platform complete? No, not at all. It’s really promising, though.

    The take home message for the technical, programming side of the story is: JavaFX is a *really nice* platform to program. This part of the JavaFX story is going to be a success, for sure.

    - Re: the business model, and why is it different?

    That is a really good question. I don’t have all the answers because there’s so much that still needs to be put in place. Here’s what the idea is though…

    1) JavaFX needs to be a great quality compatibility layer over various platforms. That certainly includes various versions of Java ME on various devices. So, the aim is to reduce the device fragmentation problem that has plagued Java ME development historically. That will lower cost of development hugely.

    As an aside (and this won’t happen any time soon, I don’t think) it could also include other platforms entirely – such as Android, or even iPhone. The point is – there’s no reason JavaFX Script has to be compiled to Java byte code to run on a Java VM. There could be a version built that sits on top of Android’s Dalvik VM, or even a version that compiles straight to ARM instructions, to run on iPhone.

    2) JavaFX developers need access to the kind of level playing field “app stores” that Apple has pioneered for iPhone. Various key players are trying to set this up.

    To summarize the business model differences between JavaFX and Java ME: lower cost of development because problems of fragmentation reduced; radically better distribution of apps for developers – no longer any need to do biz dev and sign deals, to get apps in front of customers.

    Obviously, this model is new, and not yet proven. Lots of people need to execute well to make it a reality.

    I don’t think they have a choice though. The mobile industry either makes something like this work – or they will have to watch Apple destroy them in the next five years. Apple has only just got started with iPhone. When Apple introduces a mass market device, they will start growing market share super-fast. They did it with the iPod, they’ll do it with iPhone. I wouldn’t bet against them launching a mass market version of iPhone sometime this year. They’re going to want to sell hundreds of millions of iPhones, not tens of millions.

  6. Asam Bashir wrote:

    The mobile industry has lots of other options, but Sun doesn’t yet have a single killer feature in JavaFX yet that can distinguish it from either Microsoft or Adobe’s offerings. Apart from a few Java developers, there is no buzz regarding JavaFX. Companies that want to compete directly with Apple understand they don’t compatibility layers, just software and hardware that works as harmoniously as the iPhone…

    Rather then looking for a continuation of compatibility layer models, I would have concentrated on a whole OS and development kit from Sun like Android is providing.

    The direction Apple is taking in the future is custom hardware acceleration with custom tweaked OS, there is still nothing in the market that can compare, and ones that are trying to compete use the same model, like RIM and Palm.

    What can Sun realistically pull off in next few months that it’s not been able to do for the last decade?

  7. Asam Bashir wrote:

    And, if it ever does produce a killer feature, what’s to stop one of it’s rivals buying Sun for 4 Billion and killing the project?

  8. Asam Bashir wrote:

    I’ve said months ago that Sun should have concentrated on polishing OpenSolaris and offering it as an alternative to Ubuntu in the small window where netbooks are hot. At the same time it should have worked with a handful of hardware manufacturers and made a total mobile phone OS and development package. Android has come in and done this and we’ll be seeing Android powered Netbooks in the near future. If they had taken my advise from several months ago, there would could have been a lot of hype with a launch of OpenSolaris/JavaFX mobiles and netbooks.

    Sun tries to be all things to all markets and in the end fails to be anything to anyone.

    It can still be saved, but will Sun Executives ever listen?

  9. simon wrote:

    Mobile handset makers and service providers have a huge number of options, yes. They don’t have lots of options that can seriously compete with what Apple is doing, though. Just one example – today, if you build a device using the “all new” Windows Mobile 6.5, you absolutely cannot compete with iPhone. That’s because Windows Mobile doesn’t support capacitive touch screens. Should be a red flag to anyone developing a touch screen phone. That it’s not, says rather a lot, I think (and yes I understand the arguments about resistive touch screens and the East Asian market – they’re spurious).

    You’re right that there is relatively little buzz in the blogosphere/tech podcasts/tech journalist community about JavaFX as compared, for example, to Android. That’s mostly to do with the fact that these folks really don’t have a good understanding the issues surrounding software development, and what aspects of a platform might attract great developers. What are the killer features of JavaFX? It has two, I think…

    Firstly, it’s the ability to easily create really beautiful UIs that can hook into all the key features of modern phone hardware (camera, GPS location etc); and to do it cross-platform way (from mobile to desktop, and shortly to TV as well). That’s a unique value proposition.

    The second killer feature of JavaFX is the Java developer community. The truth is, there are many deeply talented developers in the Java world. They will create some amazing apps by using JavaFX.

  10. Asam Bashir wrote:

    Here we go again, Sun needs to please end-users and consumers, not developers. This is an obvious strategic mistake Sun executives keep on making because they fundamentally don’t understand the needs of end users or the market because they only interact with developers.

    How many Java developers does it take to change a light bulb?

  11. simon wrote:

    Developers and service providers need to please end-users/consumers. Sun needs to provide developers and service providers the tools they need to go do that, and to really care about doing that. The problem, historically, is that Sun hasn’t always done that. If they can fix this, they have a good shot at winning. And yes, of course, that means fixing any issues where what Sun does touches the consumer directly (e.g. deployment user experience).

  12. Asam Bashir wrote:

    It’s tried that for years, the iceberg is very close, a radical change of direction is needed…

  13. simon wrote:

    It’s really not clear if Sun is heading towards the iceberg, or whether it’s now actually heading away from it:

    - It has the strongest product line it’s had in years, with some of the fastest growing of their sales being in highly differentiated products e.g. Open Storage products, Chip Multi Threading and starting to contribute significantly to revenue. These new businesses are already a multi-billion dollar revenue stream.

    - In Q4 2008, Sun was the only one of the big five x64 server vendors to see growth – their sales there grew > 20% against a backdrop where the sector as a whole saw sales decline by 17%.

    - In blade servers, Sun is seeing 60% revenue growth, against a backdrop of the sector growing at 16%.

    - The drive to make the software side of the business profitable also seems to be going well, with revenues growing at 50% per year.

    - Solaris seems to be in demand in the market place – IBM, Dell and, as of today, HP have all signed up to sell it on their servers.

    After Sun completes “right-sizing” the business i.e. cutting the number of staff down, they really should be able to emerge quite strongly profitable.

    Seems to me the market is undervaluing Sun by a significant margin. I doubt anyone could buy Sun for anything even *close* to $4B. Clearly, though, the share price will rise only when profits are delivered – that’s just the way the market values this kind of company.

  14. Asam Bashir wrote:

    Yes and in second quarter of fiscal 2009, X64 growth is back down to 11% year over year compared to 2008.

    http://www.sun.com/aboutsun/pr/2009-01/sunflash.20090127.1.xml

    and effects of “right-sizing’ is only going to be felt in fiscal 2010

    “Announced a restructuring initiative in November 2008 that is expected to reduce total costs by $700-800 million annually; most of this benefit is expected to be realized in fiscal 2010.”

    It still has most of 2009 to get through yet, and in the Jungle, it’s the weakest in the pack..

  15. simon wrote:

    Yes. As I say – the picture isn’t clear; and the turn-around, if it’s going to happen, isn’t complete. No-one is saying it’s the strongest company on the planet. However, it’s still a $12B per year revenue company. They really don’t have a bad strategy – what they need to do is execute well on it.

    In principle, it’s quite right for Sun to be focusing on the long-term, rather than on the short-term. Does that please Wall Street? No. But it can’t be helped. Those guys are not investors in any meaningful sense of the world. If you take too much notice of them – then the truth is – you’re *guaranteed* to fail.

    Sometimes it’s better to be the underdog, too. It means there’s more chance your employees, i.e. your team, will try that much harder than the competition.

    Look at Microsoft – they’re a hugely strong company today. Is that a good thing for them in the long term? To answer that – consider this: do the Windows Mobile or the Zune teams understand they’re underperforming? Not a chance! I remember the day after Apple announced iPhone. The response of the Head of the Windows Mobile team was – “This doesn’t change anything!” Oh, really?! And remember when Ballmer said that no-one would buy iPhone and that he preferred Microsoft’s strategy?! Is he sure about that?! The latest Windows Mobile – v6.5 – is embarrassing. Also, I remember it being blindingly obvious from day one that Zune was going to be a disaster. Did the Zune team see that? No – they actually thought their offering would compete with iPod. Didn’t want to know when people pointed out their mistakes. Today, the Microsoft senior management has had to resort to big lay-offs to try to instill into people some sense of them actually have to *do* something in return for their salaries. Every day, I get complaints from our customers about Microsoft technology causing them pain. Those guys simply don’t try hard enough.

    Bottom line: Sun isn’t out of the jungle. But they’re hardly mortally wounded in the way that, say, Silicon Graphics was in the late 1990s. I remember sitting down with Silicon Graphics folks in maybe 1997 or 1998, and them explaining their then new strategy. I told them, as a customer, that if they did what they said they were going to do, I wouldn’t be buying any more hardware from them. Other customers will have told them the same. They went ahead and implemented their new strategy anyway. All their customers stopped buying their hardware. Game over.

    In contrast, the Sun top team, and many of their employees, listen to their customers – big and small – in ways that most other companies don’t. They still have areas they need to work on – they don’t yet try as hard as, say, Apple folks do to make buying from them and handing over your hard-earned cash a pleasure. They deserve to succeed, though.

  16. Asam Bashir wrote:

    Good points. That’s why I think direct consumer experience, by way of OpenSolaris enabled netbooks and dedicated OpenSolaris/JavaFX mobile handsets, would help Sun in the long run…

  17. Richard L Burton III wrote:

    Application development on mobile devices has always been somewhat of a pain. I don’t mind Coco touch and Objective-C so much for the IPhone, but the IDE and compiler definitely have room for improvement!

    With regards to JavaFX, I see it having an advantage on the mobile platform. I haven’t looked into JavaFX yet, but I hear some good things about it. I just hope Sun Microsystems doesn’t try and sell it for web applications. After they screwed up with Applets and WebStart, I don’t think people will take them too serious with JavaFX. Besides, Adobe has Flex and Microsoft has Silverlight!

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*