Disappearing WindowBuilder Widgets & Objects in Google Web Toolkit

Google purchased and open-sourced WindowBuilder Pro late in 2010.  I’m using it as an Eclipse plugin to develop applications for Google Web Toolkit (GWT) and Google App Engine (GAE).  With WindowBuilder Pro, the developer can just drag & drop GUI elements (Widgets) into a Components Structure Panel in the Design window; another window in the IDE shows the resulting layout in real time.   The experience is similar to using MS Visual tools to develop a GUI.  By switching from the Design View to the Source View, the automatically-generated GUI source code can then be modified to add functionality.

Unfortunately, some source code modifications can cause the Design View to disappear, become uninterpretable, or only display fragments of the GUI layout.  In my case, authenticating User login via the Google loginService broke my WBPro design view:

LoginServiceAsync loginService = GWT.create(LoginService.class);
loginService.login(GWT.getHostPageBaseURL(), new AsyncCallback<LoginInfo>()
{
public void onFailure(Throwable error) {
Window.alert(“Login Failed:\n” + error.toString());
}
public void onSuccess(LoginInfo result)
{
loginInfo = result;
if(loginInfo.isLoggedIn()) {
initGUI();
}
else {
loadLogin();
}
}//onSuccess()
}); //loginService.login()

Why?  WBPro can’t (yet) parse dynamic GUI code based on runtime calculations

The code above, which uses Google loginService is dynamic; it won’t display the GUI unless the User is logged in.  My workaround for now?  Now that it’s debugged, I just commented out the loginService code block, and the Design View of my project magically reappeared.

It would be helpful if WindowBuilder Pro provided some feedback to the Developer when this happens – like a link to the FAQ – It would have saved me hours.

Posted in Uncategorized | Tagged , , , , , | Leave a comment

Samsung Vibrant Finally Gets Froyo – but not OTA

After many rumors and accusations T-Mobile provided a means to update Samsung Vibrant Android phones to Froyo on 1/20/2011 (old news for many).  After news of the update was announced, I waited a week for the update to be pushed to my phone; nada.  I finally did some searching, and found this - the instructions necessary to download the Mini Kies installer, and upgrade my phone.  So much for patience being a virtue.

The upgrade went smoothly, and the phone seems faster.  As for *why* T-Mobile didn’t push the upgrade OTA – possible reasons include cannibalization of new 4G Android phone sales, and the technical support headache that might have occurred from failed updates on some phones.

Posted in Uncategorized | Leave a comment

Review: HTML5 Mobile Web Development (video series) by Jake Carter

During this video series, the instructor provides a thorough introduction to HTML5/CSS3
development.  In the first part of the course he walks us through development of a
mobile Twitter application.  In my opinion, the course is better than a “live” class (I can
do the examples at my own pace) – but there are some issues to consider:

- The material is Apple-centric.  While he uses iPhone/iPad simulators and an Android
Emulator to test each new feature in the Twitter app, Jake develops on a Mac, and emphasizes Apple mobile devices. I’m not sure how efficient and/or distracting it would be to do the labs in a Wintel/Android environment.

- Browser HTML5 compliance varies greatly; only the newest devices are compliant enough to render the html5/css3 content as one would expect.  The course uses an Android 2.2 Emulator and iPhone/iPhone4 Simulators.  They had no problems rendering the html5/css3 as expected; when I used an Android 2.1 phone or Firefox to browse the same files, they rendered incorrectly.

This last issue highlights the fragmented nature of today’s Smart Phone market.  And in fairness, it is beyond the scope of this video course.  But, choosing a toolset is a strategic challenge for the developer:  Least common denominator? Native Applications? HTML5?

Given the half-life of Android OS versions, Mobile HTML5 will be ubiquitous in two years.
If your goal is to develop for iPhone/iPad and Android 2.2+, then html5 seems to be the path forward.  However, if you need to consider the millions of 1.5, 1.6, and 2.1 Android devices as well, then html4/css2, native app programming, or a framework (Appcelerator) are necessary.  In either case, this course provides a great hands-on introduction to this technology.

http://oreilly.com/catalog/0636920015109/

Posted in Uncategorized | Leave a comment

Review: HTML5 Up and Running (O’Reilly | Google Press)

As an Embedded Software Developer with experience in writing networking code, HTML5 may seem somewhat tangential as a topic for study.  However, as “embedded” has come to include devices with 512+ MBytes of memory, GHz processors, and gigabit Ethernet connections, the range of devices has expanded considerably, even at the low end of the embedded device spectrum.  There’s an expectation in the marketplace that the latest embedded widget will have a web interface to support user interactivity.

I recently read “HTML5 Up and Running” by Mark Pilgrim (O’Reilly | Google Press) in order to come up to speed on the technology.  A brief review follows.

Pilgrim begins the book with a review of the history of HTML from the early 1990′s until today.  The description of HTML’s evolution was supplemented by mailing list excerpts from its major developers – the process was depicted as collaborative and practical.  The ideas developed in parallel with the standards that documented them; compromises were made as required, allowing HTML to deal with imperfect (not well-formed) code, rather than trying to develop a perfect protocol.

The new HTML5 standard is a collection of improvements to the existing 4.x standard.  Since HTML5 is actually a collection of capabilities, current browsers are likely to be only partially compliant.  So, the following chapters describe the individual components of the new standard, and how to detect whether the web client (browser) implements them (examples use Modernizr to query the client).  The new features covered include Canvas, Video, Local Storage, Web Workers, Offline Web Applications, Geolocation, and several others.

Some highlights of the most interesting HTML5 features described:

- Video Support: A new <video> element that a complient browser can use to select  a video format that it is able to render. This eliminates the need for 3rd party plugins.

- Local Storage: A means to allow websites to store larger quantities of information on the client computer for subsequent retrieval.

- Web Workers: A method to spawn multiple javascript-based worker threads.

- Offline Web Applications: the ability to cache online content for later retrieval.

- Geolocation – To be expected, given the proliferation of web-enabled smart phones.

This book is a great read. It provides the “back story” on the evolution of HTML, and a practical guide for using HTML5 for modern web applications.

Posted in Uncategorized | Leave a comment

Connecting the Android Galaxy S to the DDMS in Win 7 64 bit

For whatever reason, the Samsung_Android USB driver would not install properly on my Win 7 64 system.  Click here for the manual driver installation procedure.  It seems to be working with my Eclipse/Android installation so far.

(thanks to raynjarre on SDX Developers)

Posted in Uncategorized | Leave a comment

On Geekiness

The first entry in Wikipedia for geek is: “One who is perceived to be overly obsessed with one or more things including those of intellectuality, electronics, etc.”  Works for me.

Posted in Uncategorized | Leave a comment

Changing Hosts

I’d been with the same registrar and hosting company for over 10 years.  In order to get more control of subdomains, etc, I decided to change registrars.  Evidently, something was lost in the translation; my old registrar pulled the plug on my hosting as well.  Probably just as well.  Thankfully, my domain was hosted on Blogger, so the content is still there, even if it’s a bit stale.  I’ll try to get some of the entries back online soon.

Posted in Uncategorized | Leave a comment