|
|
|||||||||||||||||||||||||||||||||||||||||||||
Terrence Barr's Blog
Poll: Which GTK device should we port phoneME Advanced to?Posted by terrencebarr on October 06, 2008 at 08:17 PM | Permalink | Comments (0)The great thing about open source is that it brings the technology provider and the technology consumer closer together ... indeed, in many case they become indistinguishable. Being able to discuss technical details over real code is a huge benefit and improves the feedback loop, accelerates innovation, and creates a sense of joint ownership and responsibility for success of the project. These are major advantages over the traditional model where there is often a "us" vs. "them" relationship between the technology vendor and the customer and where collaboration and shared vision is much harder to achieve. One good example is the phoneME Advanced project which has garnered a strong following and dedicated users and developers - the code is being taken into new directions by community members and there is excellent collaboration going on between all parties. One topic that has been under discussion for a while is GTK support in phoneME - and which particular GTK platform should be chosen. Hinkmond Wong, project owner of phoneME Advanced, has just posted a poll question to solicit the community opinion on the subject. If you're interested in GTK then please vote for your favorite platform here. Best, -- Terrence Mobile, Media & eMbedded Developer Days: Call for Papers closing soonPosted by terrencebarr on September 26, 2008 at 02:42 AM | Permalink | Comments (0)
We've already received a number of excellent submissions but, of course, we're always looking for more content. If you missed last year's conference and want to get a feel for what it's all about be sure to check out my wrap-up blog posting and have a look at our testimonials and pictures. Registration is expected to open in the first week of October and early-bird pricing will be the same as last year - $175. See the conference home page for more info. Cheers, -- Terrence Blu-ray Disc Application Development with Java MEPosted by terrencebarr on September 21, 2008 at 06:49 PM | Permalink | Comments (0)
Blu-ray is really beginning to take off and developers are scrambling to figure out how to create cool new content for the Blu-ray platform. Witness the Blu-ray Disc Java forum which is the most popular forum in the Mobile & Embedded Community and has seen an astonishing 45,000 views in the short time of its existence. The Sun Developer Network (SDN) has just published a new article titled "Blu-ray Disc Application Development with Java ME, Part 1: Creating Your First Application" which is an excellent introduction into the world of Blu-ray application development. I encourage you to check it out. Cheers, -- Terrence Developing mobility apps on Mac OS X and SolarisPosted by terrencebarr on September 21, 2008 at 06:39 AM | Permalink | Comments (2)
However, the original architecture and implementation of the WTK was quite OS specific and had a number of hooks into the underlying platform features and so the WTK has been only available for Windows and, lately, for Linux. Developers on Mac OS X (and Solaris, for that matter) were left out in the cold. But due to the numbers and Windows being the vastly predominant platform developers were using it just didn't make sense to create (and support!) a whole new port of WTK to the Mac platform. So what can Mac users do (and I am one myself) to develop mobility apps on OS X? The recommended method currently really is to run Windows (or Linux) in virtualization (via VirtualBox, VMWare Fusion, or Parallels) and then the WTK on top of that virtualized OS. Not exactly elegant but it is generally pretty painless and works very well if your goal is to be productive and just get the job done. However, increasingly, people are also going the route of using Java ME emulators written in Java SE to provide mobility functionality on platforms that otherwise lack WTK support, such as OS X and Solaris. Some examples are mpowerplayer and microemulator. While this approach is not perfect (in particular, Java SE-based emulators tend to lack tight platform integration, some advanced tools such as monitoring, and some of the latest JSRs features) it does allow the Mac OS user to run and develop Java ME applications directly on OS X. Karol Harezlak from the NetBeans team has built a plug-in for microemulator that allows Java ME application development within NetBeans 6 in a fashion similar to the original Mobility plug-in under Windows and Linux. Currently there are still a couple of limitations with this in respect to the microemulator functionality (MIDP CustomItem is not completely implemented and there are a couple of issues with some JSR implementations). But it's a great start and since microemulator is an open source project I expect the community to continue to address the remaining issues over time. Found out more on the NetBeans wiki. Cheers, -- Terrence Student projects in the Mobile & Embedded CommunityPosted by terrencebarr on September 12, 2008 at 09:24 AM | Permalink | Comments (3)Just a quick note: We are rolling out a number of student projects in the Mobile & Embedded Community. These are great opportunities for students (and educators) who want to get involved with mobile and embedded Java and open source development. Check out our list of projects to see if anything strikes your fancy. Cheers, -- Terrence phoneME performance rocks!Posted by terrencebarr on September 10, 2008 at 07:59 AM | Permalink | Comments (0)
The folks over at BugLabs have been one of the earliest and most serious adopters of phoneME - they are using phoneME as the basis for their core product. Lately, they have done a series of performance tests to compare phoneME with other open source VMs such as Cacao and jamVM. They just published their second round of results after some tuning and turning on the phoneME JIT compiler. As you can see from the graphs phoneME is quite competitive even without the JIT compiler - but with JIT enabled phoneME outperforms its closest competitor by a factor of 1.7x to almost 2x depending on the benchmark. And because the phoneME team has spent years optimizing the VM for small footprint and high performance (not just top speed but also start-up- and interactive performance) the JIT compiler carries a very reasonable overhead in terms of memory budget and optimization time. To witness, here is a blog by the Jalimo team which talks about phoneME running on Maemo and OpenMoko FreeRunner. phoneME starts a "Hello World" application in only 250 ms and a SWT demo application in 4 seconds. Thanks to BugLabs for the great and detailed performance work. And: phoneME rocks! ;-) Cheers, -- Terrence Berlin conferences: Berlin.jar and OSiM WorldPosted by terrencebarr on September 07, 2008 at 09:37 AM | Permalink | Comments (0)It's been nice and quiet for a couple of weeks - no travel. Now the conference circuit is starting up again and so in a couple of days I will head up to Berlin, Germany for two conferences:
See you there, -- Terrence M&E Community Growth: 180 projects, almost 20,000 activities per month!Posted by terrencebarr on September 05, 2008 at 03:20 AM | Permalink | Comments (0)
I've been wanting to post data on the growth of the M&E Community for some time now ... but somehow I always got distracted trying to pull together the stats. Turns out that compiling meaningful statistics is harder than you think and the web technology sometimes gets in the way, too. But here, finally, are some numbers - and they're loooooking goood. Project and community growth has been pretty stunning (see chart). The community now has over 180 projects (all but a handful are non-Sun) and we've reached a cumulative 220,000 activities since November 2006. Admittedly, the chart looks a bit too perfect ... the historic data I have is spotty so the OpenOffice chart wizzard had do so some smoothing. But, fundamentally, the chart is correct - in particular the data at 08/08 is real and not extrapolated. What are 'cumulative activities'? An activity is any active involvement of a community member or user with the project resources, be it viewing or posting to the forums or mailing lists, accessing the blogs, downloading project resources, updating the bug database, or performing commits to the repository - this includes all projects in the Mobile & Embedded Community. We keep a running sum of the activities so that's why it is cumulative. At the current rate we have close to 20,000 activities per month. How does that break down? About 80% of the activity is forum views or posts and the rest is accessing blogs, downloads, commits, and other activities. That number, by the way, does not include our podcast which is enjoying between 1,500 and 2,500 accesses a month, depending on the topic. So which are the most active projects in the community? phoneME, not surprisingly, is at the top of the list - it actually ranks #7 in the overall java.net project list. The next most active projects in the M&E Community are (not necessarily in any particular order):
Ok, thats it for now. Hope you find the stats useful - I am certainly pleased by them as they show the community has established itself solidly and continues to grow at a nice clip. Cheers, -- Terrence Mobile Distillery training in Bay Area, Sept 16thPosted by terrencebarr on August 31, 2008 at 09:43 PM | Permalink | Comments (0)Tools-based parametric application development is an interesting and increasingly used approach to broaden the range of target devices and addressable market while lowering development and deployment costs. One of the companies in this space is Mobile Distillery and I am actually currently playing with an eval version of their Celsius tool and Alembic database to get a feel for the product. Mobile Distillery will be at CTIA Wireless in San Francisco during September 10-12th and they are planning a free training session on their products the week after on September 16th - somewhere in the Bay Area (location TBD). So if you're interested in attending make sure to check the Mobile Distillery home page for more information over the next couple of days. Cheers, -- Terrence Get real, ApplePosted by terrencebarr on August 27, 2008 at 09:34 AM | Permalink | Comments (18)Things aren't going so well for the iPhone and Apple these days. First, it appears that the much-anticipated 2nd generation iPhone (the iPhone 3G) doesn't actually perform that well on 3G networks - many users are reporting that 3G connectivity is frequently very flaky and Apple has been hit with a class action lawsuit. Next, the iPhone doesn't actually seem to be selling that well in many parts of the world - here in Europe I've seen very few of them. And to top off Apples woes it just has been reprimanded by the U.K. Advertising Standards Authority. An Apple TV ad has been claiming that "all parts of the Internet are on the iPhone" ... well, not quite. Java is a major component of the Internet, used on thousands of web sites and available on close to 95% of the world's desktop computers - but not on the iPhone. In their response to the unfair advertising claim Apple tried to hide behind the statement that "... proprietary languages or technologies, such as Flash or Java, were not open source ...". Come on, give me a break! Nice try to slip proprietary Flash into the same sentence along with Java. But we all know that the Java language has been open from its very beginning in 1995 and the Java runtime is open source for nearly two years now. The folks at Apple should know better. So, Apple, get real. If you really want to deliver the whole Internet on the iPhone then Java must be a part of it. By the way, if you think Java is not "cool" enough for the iPhone - check this out. Cheers, -- Terrence Fire Eagle updates from your Java phonePosted by terrencebarr on August 26, 2008 at 07:42 AM | Permalink | Comments (1)
So lately I've started using Yahoo's Fire Eagle which allows me to broadcast my current location to a number of applications and web sites such as my IM client and my blog (this integration is coming soon). The question is: How does one update the position information frequently and conveniently while on the road? Using a mobile phone, of course ... Fire Eagle Mobile Updater is a little Java ME app that automatically queries the phone's GPS via JSR-179 and then sends the location information to Fire Eagle for propagation. Fire Eagle Mobile Updater has been tested on the Nokia N95 but because it is Java ME it should run on most, if not all, JSR-179-enabled devices ... covering a big chunk of the GPS-enabled phone space. A great little example of how useful a pervasive platform such as Java ME can be. Cheers, -- Terrence News summary: JavaFX Preview SDK, new SDN articlesPosted by terrencebarr on August 18, 2008 at 11:18 AM | Permalink | Comments (0)
A couple of news items have piled up over the last few days that I briefly want to bring to your attention:
Cheers, -- Terrence Call for Papers: Mobile and Embedded Developer Days #2Posted by terrencebarr on August 18, 2008 at 06:02 AM | Permalink | Comments (0)Update:
After the very successful first installment of the Java Mobile & Embedded Developer Days in January of this year ... we're doing it all over again! Same format, same location, but expanded topic coverage - now including media as well as a testament to the rapidly growing interest in Java on Blu-ray players, set-tox boxes, and other entertainment-related technologies. So get ready for the
January 21 and 22, 2009
in the Auditorium of the Sun Microsystems Campus
Santa Clara, CA, USA The Call for Papers has gone out and closes September 30, 2008. So put on your thinking caps, get creative, and send us your ideas for technical sessions, lightning talks, poster presentations, and panel sessions around Java, Java ME, and open source aspects of Java. If you want to get a taste of the previous event check out our testimonials. For more details, see Roger Brinkley's blog. Cheers, -- Terrence Comparing LWUIT and JavaFX MobilePosted by terrencebarr on August 17, 2008 at 11:15 PM | Permalink | Comments (7)Update:
Open sourcing LWUIT last week has created a lot of buzz - the response has been phenomenally positive. We've also gotten a few questions regarding the relationship of LWUIT and the upcoming JavaFX Mobile platform - there still seems to be a bit of confusion here. So I thought it would be useful to devote a "FAQ" blog entry to this topic. FAQ: LWUIT vs. JavaFX Mobile 1. What is LWUIT? LWUIT (Lightweight UI Toolkit) is a UI toolkit library for Java ME. LWUIT is aimed at current Java MIDP and Swing developers who are looking to enhance the interfaces of new or existing Java ME applications on MIDP 2.0 devices. LWUIT offers pre-made graphical functions and features that developers can quickly and easily assemble into a compelling interface. LWUIT allows developers to worry less about the building blocks and instead focus on a consistent and richer interface across phones. As a binary library that developers simply deploy together with their applications LWUIT works on the vast majority of today's mobile phones and platforms supporting MIDP 2 (including Windows Mobile as described here) as well as MSA devices going forward. In short, LWUIT is the solution for building attractive and engaging applications on mass-market devices today. 2. What is JavaFX Mobile? JavaFX Mobile is a Java ME platform with the JavaFX runtime (including JavaFX Script) on top of it. JavaFX Mobile is targeted at developers, designers, and scripters who are looking to create very rich, very immersive experiences across the "screens of your life" (phone, desktop, TV, etc.). The amount of interactivity, animation, and control over the user's screen brings a new level of functionality to devices. Java FX Mobile requires MSA-enabled platforms which comprise the small but growing higher end of the mobile space - smart phones and high end feature phones. JavaFX uses JavaFX Script, a declarative statically typed scripting language that allows people to build out interfaces by describing the functionality that they want to see, instead of building it from the ground up. This lets them think creatively and be creative. JavaFX includes scalable fonts, 2D graphics, rich animations, integrated audio and video, and as noted, you can build apps that will run across all the screens of your life. In addition, with JavaFX, you can use design tools like Photoshop and Illustrator to build out graphical elements and even entire interfaces that you can directly build into and manipulate within JavaFX. This lets the designers and developers work much more closely and efficiently together. In short, JavaFX Mobile is the next quantum leap for the mobile Java platform - coming to devices in 2009. 3. When do I want to choose LWUIT over JavaFX Mobile or vice versa? LWUIT focuses on improving the UI experience on today's mass-market phones. If you have an existing MIDP application that you would like to spruce up or you need to create an attractive new application targeted for todays MIDP 2 and MSA devices then LWUIT is your ticket. If you're looking to the future and you want the dynamic capabilities and ease of development of the JavaFX Script language as well as immersive media and graphics then JavaFX Mobile is what you'll want. The JavaFX Preview SDK is available now so you can start experimenting with FX Script today and get ready for when JavaFX Mobile becomes available. 4. Does LWUIT compete with JavaFX Mobile? No. Superficially, there are some similarities as both of these products address a better and more compelling user interface for mobile and other devices. But it should be clear from the above that there's really two target audiences and device profiles that are being addressed. Furthermore, since LWUIT will continue to run on MSA-compliant platforms (MIDP 2 is a required component of MSA) LWUIT will not be obsolete when JavaFX Mobile becomes available. In short, having both options available makes the life of developers easier because they can choose the model that fits their requirements best and create compelling content for Java ME today and the future. Hope that clears it up. Cheers, -- Terrence LWUIT released as open source!Posted by terrencebarr on August 14, 2008 at 07:40 PM | Permalink | Comments (9)Note : For an overview and a FAQ on LWUIT see this older post.Dear Community, Sun introduced the Lightweight UI Toolkit (LWUIT) to the developer community at JavaOne this year. We made available at that time a prerelease binary library, additional tools, and extensive documentation so that developers could get started with LWUIT right away. We also announced our intent to open source the LWUIT technology by summer. It's been three months since JavaOne and the success of LWUIT has surpassed our wildest expectations. The LWUIT project has seen an explosion of activity, and blogs and articles around the web have given LWUIT enthusiastic reviews. Meanwhile, the owners and architects (Shai Almog and Chen Fishbein) of the LWUIT project have been busy answering questions, providing help, and releasing two code updates with significant improvements, including community feedback and bug fixes. As a result many mobile developers including major commercial companies have already committed to using LWUIT for their upcoming projects. Clearly, LWUIT has struck a nerve. This success reinforces Sun's belief that LWUIT is really much more than a set of pretty UI widgets - it is a core technology that enables the community to take Java ME to the next level. Its real strength is in providing a rich framework that developers can easily build upon, optimize, collaborate around, and then deploy on billions of devices. In this way LWUIT is becoming a unifying UI layer that allows developers to focus on creating compelling user interfaces and ultimately delivering new and engaging applications across a wide range of platforms. And to further accelerate the adoption of the LWUIT framework it is important to provide access to the source code under a liberal and well-known open source license. So today Sun is announcing the release and immediate availability of the complete source code of the LWUIT framework under the GPLv2 license with the Classpath Exception. This license choice provides the benefits of open source innovation and collaborative development while offering a risk-free path to adoption by commercial products - a model everybody should feel very comfortable with. It's been a very busy couple of months for the LWUIT community, the project team, and the folks at Sun behind the scenes - the hard work is paying off and all indications are that LWUIT has a very bright future. So please join me in congratulating everyone involved. Please check out the updates and latest information on the LWUIT home page, the LWUIT blog, and of course the open source repository. Way to go Shai and Chen! Cheers, -- Terrence Back from vacation ... stay tuned for big news tomorrow!Posted by terrencebarr on August 13, 2008 at 04:54 AM | Permalink | Comments (0)I just got back from vacation ... a quiet and relaxing two weeks in a cottage in Sweden by the Baltic Sea, with our own beach and boat. Loved it! No email, no meetings, just kicking back and relaxing. On the downside I had almost 2000 emails in my inbox on return. Sigh - I guess work always catches up with you sooner or later ;-) But enough about that. We're busy putting the finishing touches on some exciting news for tomorrow (Thursday) - stay tuned! Cheers, -- Terrence Just released! phoneME Feature MR3Posted by terrencebarr on July 25, 2008 at 01:10 AM | Permalink | Comments (5)
We're excited to announce the new milestone release 3 (MR3) of the phoneME Feature project. As you know phoneME Feature is a live code base which is being continuously evolved by the efforts of community members as well as Sun's engineering teams. It forms the basis of Sun's commercial product known as the Sun Java Wireless Client 2.1. Much work has gone into the code base over the last year. phoneME Feature MR3 builds on phoneME Feature MR2 by adding new capabilities as outlined in the feature list below. These include new JSRs, enhanced multimedia support, removal of audio encumbrances, improved support for the JavaCall porting layer, and much more. Feature List The following features are part of the phoneME Feature MR3 release:
Supported Platforms The phoneME Feature MR3 software is supported on the Windows x86 platform (emulation mode). MR3 also supports building on Linux for the ARM target platform. However, because embedded platforms such as Linux on ARM tend to be very specific, phoneME MR3 has been ported to the P2SAMPLE64-V6 board as an example for an ARM platform. It does not constitute a full-featured and fully-qualified port but is meant to serve as starting point for Linux on ARM platforms in general. For more information on building for this Linux on ARM platform, see the Sun Java Wireless Client Software Build Guide. Closer Integration with Sun Java Wireless Toolkit (WTK) Going forward, the Sun Java Wireless Toolkit (WTK) and phoneME Feature will be more tightly integrated for the purpose of providing emulation environments on desktop platforms. This is to increase consistency between the emulation and the real device stack represented by phoneME, as well as to allow the phoneME software to leverage emulation features already supported by WTK on the desktop. phoneME Feature MR3 is an important step in this direction, as MR3 on Windows x86 now leverages components from the WTK for integration with the Win32 runtime (graphics, sound, keyboard, networking, etc). As such, an existing WTK installation is now required to run phoneME Feature MR3 on Windows x86. Of course, WTK is not required for running phoneME Feature on embedded or mobile platforms. More Information
We hope you will find the new features exciting and useful and, as always, we look forward to active community participation as this development effort proceeds. Best regards, The phoneME Feature team Symbian and open source: Who's going to show up?Posted by terrencebarr on July 22, 2008 at 08:49 PM | Permalink | Comments (0)
There has been quite a lot of press around Nokia's announcement to buy Symbian, unify S60, UIQ, and MOAB, and open source the platform within two years. This move highlights a number of important things such as the intensifying battle for supremacy in the mobile platform space but also the acknowledgement that the open source model has firmly arrived in the mobile space, even for traditionally closed and proprietary platform vendors. However, for me one of the more interesting topics is just how Nokia will approach this massive open source undertaking and, even more importantly, expand their developer base. Nokia, of course, has been involved in a number of open source projects over the last few years (most notably, maemo) but as a company they are clearly still grappling to adjust to the open source mindset. So it will be interesting to see how Nokia and their partners handle this transition and manage to create a vibrant and active community around the code that goes beyond their traditional corporate developers. Here is an eye-catching quote from an interview with Janne Jalkanen from Nokia: "Pretty much the only community around S60 is the community we pay to be there ..." I encourage you to read the interview. Not only does it provide some interesting insights into the existing Symbian technology and ecosystem but it highlights some key issues commercial companies are having when moving to open source and how they are struggling to find the right model and get traction and adoption by developers ... which, at the end of the day, is what open source is all about. Cheers, -- Terrence A bit off-topic: "We're Not *Resources*"Posted by terrencebarr on July 20, 2008 at 11:37 PM | Permalink | Comments (2)This is a bit off-topic but it struck a chord with me. Mark Turansky posted an article on JavaLobby a few days ago which analyses the thinking that creeps into the planning process when you term software developers as "resources" - as arbitrarily exchangeable quantities in the process of developing and delivering software projects. In the age of globalization with its in-, out-, and cross-sourcing beyond time zones and country borders it is easy to think of developers as "raw material" that you can apply to your manufacturing process like conveyor belts or assembly robots. But software engineering is arguably one of the most complex things humans are capable of doing. So in todays increasingly complex world with rapidly evolving requirements in terms of security, reliability, usability, and efficiency you need experts with deep and well as broad skill sets coupled with experience and the personality to match to be able to build software systems that deliver. True, the law of ever-increasing productivity that has served us well for thousands of years doesn't stop at software engineering. Drag-and-drop design, high-level abstractions and interfaces, middleware, scripting, code generation, and similar technologies spare us the grunt work and now some of that work which previously required experts can potentially be offloaded to less skilled "resources". But at the same time the leading edge keeps moving forward creating new technologies and complexities that require expertise and the right balance of skills to understand, evaluate, and put into production use. The opportunity for complexity and specialization in the software industry appears limitless as far as I can see (for better or worse). Anyone who clubs this fact into submission by using arbitrary "resources" and fixed durations in a project planning tool is setting themselves up for failure. As if the world hasn't seen enough disastrous IT projects yet ... Find the article here. Cheers, -- Terrence Android - Lost in space?Posted by terrencebarr on July 10, 2008 at 05:56 AM | Permalink | Comments (4)On my various trips and presentations around the world I often get asked to comment on Google's Android effort. I've blogged about Android before and mostly what I said then still holds true now. But a couple of things I think have become more apparent since then - in particular that Google seems to have approached the matter with a certain amount of naiveté. We still don't actually know very much about Android. The software stack is late and still being reworked in fundamental ways. Devices are delayed. Partners are not signing on in droves. The business model is unclear. The open source and developer communities are largely still in the dark about the plans. All the while the rest of the industry is not standing still: Google finds itself playing catch-up in mobile-phone code race. I still applaud Google for the effort - the mobile industry is in the midst of a major shift and Android is an embodiment of that shift. But like Microsoft and many other dominant players before, Google is finding out that the rules you've learned in rising to the top of your particular game don't necessarily apply to that shiny new business you've set your sights on. The lessons we've come to appreciate in the desktop space mostly don't work in the mobile industry - for technical and business reasons. But there is one critical similarity between the desktop and the mobile space. True growth and market opportunities require economies of scale. Economies of scale require ubiquity of consistent platforms and open access. The desktop space finally reached the point of lift-off with the standardization on the X86 hardware platform coupled with the emergence of a small set of operating systems that provided a consistent and (fairly) open programming model (Windows and GNU/Linux). And a big open pipe to the Internet turned on the afterburner. The mobile space is still struggling on all of these fronts. And whether Google's approach is actually helping the matter is a an excellent point of discussion. Curious to hear your thoughts. Cheers, -- Terrence |
October 2008
Search this blog:CategoriesCommunity: Mac Java CommunityCommunity: Mobile & Embedded Archives
October 2008 Recent EntriesPoll: Which GTK device should we port phoneME Advanced to? Mobile, Media & eMbedded Developer Days: Call for Papers closing soon Blu-ray Disc Application Development with Java ME | ||||||||||||||||||||||||||||||||||||||||||||
|
|