<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>Qusay H. Mahmoud&apos;s Blog</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/" />
<modified>2008-05-06T19:41:53Z</modified>
<tagline></tagline>
<id>tag:weblogs.java.net,2008:/blog/qmahmoud/396</id>
<generator url="http://www.movabletype.org/" version="3.01D">Movable Type</generator>
<copyright>Copyright (c) 2008, qmahmoud</copyright>
<entry>
<title>Hybrid Apps with JavaFX</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2008/05/hybrid_apps_wit.html" />
<modified>2008-05-06T19:41:53Z</modified>
<issued>2008-05-06T19:41:48Z</issued>
<id>tag:weblogs.java.net,2008:/blog/qmahmoud/396.9707</id>
<created>2008-05-06T19:41:48Z</created>
<summary type="text/plain">If you ever wanted to be able (or enable your customers) to drag a running app off the browser onto the desktop, Java FX will help you... </summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>I have attended the General Session this morning. Several applications were demoed showing the power of JavaFX. The most interesting for me was "Connected Life", which interacts with several social networking tools, but what I found most interesting about it is the ability to drag the running application from inside the browser onto the desktop, the browser can then be closed and the application continues to run on the desktop. The 3D graphics look amazing, and the same application run on mobile devices (they even have it running on the Android emulator)...</p>

<p>Enabling developers to write hybrid applications is a great productivity strategy for <a href="http://java.sun.com/javafx">JavaFX Technology</a>. I cannot wait to see the full SDK for JavaFX sometime over the summer. Q.</p>]]>

</content>
</entry>
<entry>
<title>Excitement in the Air for the CommunityOne Fair</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2008/05/excitement_in_t.html" />
<modified>2008-05-06T07:21:42Z</modified>
<issued>2008-05-06T07:04:58Z</issued>
<id>tag:weblogs.java.net,2008:/blog/qmahmoud/396.9700</id>
<created>2008-05-06T07:04:58Z</created>
<summary type="text/plain">Everyone seemed excited about this free and open developer event...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>I am excited to be at JavaOne again this year, and I’ll be watching for interesting stuff around Java ME and Web Services. I arrived in San Francisco around noon and attended some of the afternoon sessions of CommunityOne – this year’s event is much bigger than the previous year and included many more concurrent sessions. Everyone seemed excited about this free and open developer event.</p>

<p>I missed the morning presentation (sorry Roger) on Java ME and the Mobile & Embedded Community projects. But it is unfortunate that this was the only Java ME presentation in the whole CommunityOne event. It is great to see that Java ME powers 8 out of 10 mobile devices, but as the mobile apps market becomes more competitive (hint: Android) Sun needs to do more to keep Java ME at its current level. While there are many interesting Java ME presentations part of JavaOne, CommunityOne is the free event and I think there should have been a full track on Java ME just like there were full tracks on OpenSolaris, GlassFish, Web Apps, and others.</p>

<p>I attended the JUGs (Java User Groups) session “Think Globally, Act Locally”. This is an interesting session and it is great to see everyone’s enthusiasm for this. There were JUG leaders from several groups in the US and Europe. It would have been nice to have more representatives from all over the world (e.g. Middle East) to get a better idea of what other JUGs are doing and what initiatives they have to recruit more members…but may be next year.</p>

<p>Overall, I have enjoyed the CommunityOne event which was concluded with a GREAT reception. Q.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Faculty Summit on Mobile Devices in CS Education</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2008/04/faculty_summit.html" />
<modified>2008-05-06T06:57:40Z</modified>
<issued>2008-04-23T21:56:13Z</issued>
<id>tag:weblogs.java.net,2008:/blog/qmahmoud/396.9699</id>
<created>2008-04-23T21:56:13Z</created>
<summary type="text/plain">The aim of this faculty summit is to become a premier event for academics interested in integrating mobile devices into the computer science curriculum...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>The Centre for Mobile Education Research (Univ. of Guelph) and Research In Motion Limited (RIM) are pleased to announce the first Faculty Summit on Mobile Devices in Computer Science (CS) Education.</p>

<p>This event is for faculty members interested in integrating mobile devices into their courses and across the CS curriculum. The summit will provide a unique opportunity for CS educators at the college and university levels to learn about the potentials of integrating mobile devices in CS education. Attendees will enjoy a day of talks, tutorials, and demos from faculty members, industry speakers and students.</p>

<p>This event will be held at the University of Guelph on Thursday, June 12. More information ia available here: <a href="http://cmer.cis.uoguelph.ca/facultysummit">http://cmer.cis.uoguelph.ca/facultysummit</a>. Q.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Workshop on Mobile App Development at SIGCSE</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2008/03/workshop_on_mob.html" />
<modified>2008-03-25T20:50:39Z</modified>
<issued>2008-03-19T22:09:16Z</issued>
<id>tag:weblogs.java.net,2008:/blog/qmahmoud/396.9392</id>
<created>2008-03-19T22:09:16Z</created>
<summary type="text/plain">I mainly covered Java ME and the BlackBerry wireless device, and talked about my experience in integrating BlackBerry devices into my programming courses...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>I have just returned from ACM SIGCSE (the 39th ACM Technical Symposium on Computer Science Education) which was held in Portland, Oregon. Portland is a nice city, I especially liked the Light Rail and the fact that Oregon has no sales tax (what you see is what you pay).</p>

<p>I have attended the Greenfoot Day at SIGCSE and presented a scenario (Going to the Moon) that can be used to introduce students to programming with Java. It is an entertaining idea developed as part of a final year project by Randy Gallant at the University of Guelph-Humber. Several people from universities, colleges, and high schools are interested in the scenario and we'll be releasing it soon (watch this space).</p>

<p>I have also delivered a tutorial on "Introducing and Teaching Mobile Application Development" which was attended by 17 participants from universities and colleges (mostly from USA and Canada). I mainly covered Java ME and the BlackBerry wireless device, and talked about my experience in integrating BlackBerry devices into my programming courses. The workshop went well and everyone seemed excited about the technology and integrating it into their own courses. Electronic copies of the handouts are now available online for download, see: <a href="http://cmer.cis.uoguelph.ca/resources.html">workshop handouts</a>.</p>

<p>In addition, I have presented a poster on a tool for generating device-independent quizzes. We'd like to commercialize this tool so if your company is looking for something like this, please let me know. Q.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Centre for Mobile Education Research</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2008/02/centre_for_mobi.html" />
<modified>2008-03-19T22:11:10Z</modified>
<issued>2008-02-27T21:54:31Z</issued>
<id>tag:weblogs.java.net,2008:/blog/qmahmoud/396.9391</id>
<created>2008-02-27T21:54:31Z</created>
<summary type="text/plain">The goal of the Centre for Mobile Education Research is to help universities worldwide in integrating mobile devices into the Computer Science and Engineering Curriculums...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[I haven't posted anything in my blog for the past six months not because I didn't have anything interesting happening in my life but rather I have been super busy with work! One of the things I am very excited about is the newly established <a href="http://cmer.cis.uoguelph.ca/">Centre for Mobile Education Research (CMER)</a> whose mission is to engage in leading edge applied research to develop state-of-the-art applications and services to facilitate and enhance mobile education and learning, and to provide leadership in integrating mobile devices into the Computer Science and Engineering curriculums. The Centre is funded in part by <a href="http://www.rim.com">Research In Motion (RIM)</a> and I am very grateful for their generous support. RIM is the maker of the awesome <a href="http://www.blackberry.com/">BlackBerry wireless device</a>, which supports Java ME CLDC and MIDP by the way. You won't know how awesome and valuable the BlackBerry is until you get one. Q.
]]>

</content>
</entry>
<entry>
<title>Cognitive Networks</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2007/08/cognitive_netwo.html" />
<modified>2007-08-20T20:33:11Z</modified>
<issued>2007-08-20T20:31:20Z</issued>
<id>tag:weblogs.java.net,2007:/blog/qmahmoud/396.8061</id>
<created>2007-08-20T20:31:20Z</created>
<summary type="text/plain">Cognitive networks can dynamically adapt their operational parameters in response to user needs or changing environmental conditions. They can learn from these adaptations and exploit knowledge to make future decisions...
</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>I am delighted to announce the availability of my new edited book on "Cognitive Networks" that has just been published by Wiley.</p>

<p>With forewords by Joseph Mitola III and Sudhir Dixit.</p>

<p><b> From the back cover</b></p>

<p>Cognitive networks can dynamically adapt their operational parameters in response to user needs or changing environmental conditions. They can learn from these adaptations and exploit knowledge to make future decisions.</p>

<p>Cognitive networks are the future, and they are needed simply because they enable users to focus on things other than configuring and managing networks. Without cognitive networks, the pervasive computing vision calls for every consumer to be a network technician. The applications of cognitive networks enable the vision of pervasive computing, seamless mobility, ad-hoc networks, and dynamic spectrum allocation, among others.</p>

<p>In detail, the authors describe the main features of cognitive networks clearly indicating that cognitive network design can be applied to any type of network, being fixed or wireless. They explain why cognitive networks promise better protection against security attacks and network intruders and how such networks will benefit the service operator as well as the consumer.</p>

<p><b>Cognitive Networks (this book)</b><br />
<ul><br />
<li> Explores the state-of-the-art in cognitive networks, compiling a roadmap to future research.<br />
<li>Covers the topic of cognitive radio including semantic aspects.<br />
<li>Presents hot topics such as biologically-inspired networking, autonomic networking, and adaptive networking.<br />
<li>Introduces the applications of machine learning and distributed reasoning to cognitive networks.<br />
<li>Addresses cross-layer design and optimization.<br />
<li>Discusses security and intrusion detection in cognitive networks.<br />
</ul></p>

<p>Cognitive Networks is essential reading for advanced students, researchers, as well as practitioners interested in cognitive & wireless networks, pervasive computing, distributed learning, seamless mobility, and self-governed networks.</p>

<p><b>Contributors</b><br />
Raouf Boutaba, R. Chandramouli, Luiz A. DaSilva, Herv Debar, Thomas G. Dietterich, Linda Doyle, Royta Egashira, Tim K. Forde, Daniel H. Friend, Keita Fujii, Allen Ginsberg, William D. Horne, Harikeshwar Kushwaha, Pat Langley, Kenji Leibnitz, Jun Lu, Allen B. MacKenzie, Chetan Mathur, Joseph Mitola III, Mehul Motani, Masayuki Murata, Yi Pan, Jeffrey D. Poston, John Strassner, Vineet Srivastava, K.P. Subbalakshmi, Tatsuya Suda, Ryan W. Thomas, Naoki Wakamiya, Jin Xiao, Yiping Xing, Ariffin Yahaya.</p>

<p>For more information about the book, and to read an excerpt please visit: <a href="http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470061960.html">http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470061960.html</a> or <a href="http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470061960.html">http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470061960.html</a>.</p>

<p>I hope you'll find it useful. Q.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Driving innovations in the mobile apps space</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2007/06/driving_innovat.html" />
<modified>2007-06-11T18:39:39Z</modified>
<issued>2007-06-08T17:04:19Z</issued>
<id>tag:weblogs.java.net,2007:/blog/qmahmoud/396.7593</id>
<created>2007-06-08T17:04:19Z</created>
<summary type="text/plain">I believe that students will play a key role in driving innovations in the mobile apps space, and I am pleased to see that Vodafone Betavine is sponsoring a set of student competitions for innovative mobile applications...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>While at JavaOne 2007, I attended a session on how Java ME developers can work with carriers -- with representatives from Spring, Orange, AT&T, and China Mobile. It is clear that service providers are under pressure to offer more compelling mobile applications to their customers. I believe that students will play a key role in driving innovations in the mobile apps space, and I am pleased to see that Vodafone Betavine is sponsoring a set of student competitions for innovative mobile applications, spanning the areas of social networking, entertainment, office, and future social planning. The first prize is £5000 (approx. US$9,950). The submission deadline is September 30, 2007. To learn more about the Vodafone Betavine Student Competitions, please see: <a href="http://www.vodafonebetavine.net/web/guest/projects/students">http://www.vodafonebetavine.net/web/guest/projects/students</a>.</p>

<p>Speaking of student competitions, back in April I ran the Greenfoot’ Greeps competition at the University of Guelph-Humber. The students find it exciting. The results of the competition are available here: <a href="http://www.cis.uoguelph.ca/~qmahmoud/greeps">http://www.cis.uoguelph.ca/~qmahmoud/greeps</a>.</p>

<p>I am always looking for sponsors for similar events. Q.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Liberating Java</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2007/05/liberating_java.html" />
<modified>2007-05-17T19:54:03Z</modified>
<issued>2007-05-17T19:53:58Z</issued>
<id>tag:weblogs.java.net,2007:/blog/qmahmoud/396.7439</id>
<created>2007-05-17T19:53:58Z</created>
<summary type="text/plain">When Java was released to the public back in 1995, the source came with it. So Java has always been an &quot;open&quot; platform, but now it is FREE...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>I attended the "Liberating Java" session at JavaOne by Simon Phipps, Chief Open Source Officer at Sun Microsystems. He spoke highly of the open source concept and how it was Sun's vision right from the start. Isn't Sun the first open source startup? Well, I believe Sun has embraced open standards from the beginning. In 1984 the Network File System (NFS) was made open and free to the industry, and later it became the industry standard for network file sharing.</p>

<p>He described the concept of open source to be about skilled engineers who join together to leverage each other skill, and it is about engaging with the code. It is really all about creating a win-win situation for everyone. An interesting quote he made: <i>it is not communism, it is connected capitalism</i>.</p>

<p>In the world of open source, individual consumers and businesses have a choice, and the analogy Simon used was like going to a buffet restaurant -- it is all about choice. People love open source not because they necessarily want to have access to the source code, but to have control over building their own software infrastructure.</p>

<p>Simon talked about a couple of case studies of open source in the developing world. He discussed the case of China where more than 70% of the government software is open source, and Brazil is embracing open source as "a matter of sovereignty" in the sense that Taxpayers money spent on licensed software is going abroad, when it should be used to support local developers.</p>

<p>A full interview with Simon about open source Java is available on Linux Journal website at: <a href="http://www.linuxjournal.com/article/9624">http://www.linuxjournal.com/article/9624</a></p>

<p>Finally, remember that back in 1995 when Java was released to the public, the source came with it. So Java has always been an "open" platform, but now it is FREE! Q.</p>]]>

</content>
</entry>
<entry>
<title>Java Interactive TV</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2007/05/java_interative.html" />
<modified>2007-05-11T17:56:19Z</modified>
<issued>2007-05-10T20:19:42Z</issued>
<id>tag:weblogs.java.net,2007:/blog/qmahmoud/396.7352</id>
<created>2007-05-10T20:19:42Z</created>
<summary type="text/plain">Java will ship with all Blu-ray devices to drive the success of the this new generation media format for entertainment...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>This morning I attended the Java TV Track kickoff session. There were representatives from Sun, CableLabs, Time Warner, and Sony. They talked about the OpenCable initiative, one of its drivers is to encourage set-top supplier diversity – similar to the PC industry.</p>

<p>OCAP is the Open Cable Application Platform, which is based on Java. An SDK is available for developers interested in developing interactive TV applications, you can download it from <a href="http://www.opencable.com/ocap">http://www.opencable.com/ocap</a>. One of my favorite TV channels is the Toronto-based <a href="http://www.citynews.com">CityNews</a>, which has a ticker running across the screen with news from various sources. It would be really cool if they make it possible for viewers to replace that ticker with their favorite RSS feed. :-)</p>

<p>During the session it was announced that TiVO will be offered by several cable companies on existing cables, so be on the look out for offers from your cable providers to upgrade your cable box. :-)</p>

<p>Next, they discussed BD-J or Blue-ray Disc Java is the platform for supporting advanced content for <a href="http://www.blu-raydisc.com/">Blu-ray Disc</a>. This technology allows much more sophisticated bonus features on Blu-ray Disc titles than that provided by standard DVD. A couple of demos of Blu-ray Disc were shown: Big Fish, and Open Season. If you are a content developer, you might be interested in the BD-J application contest. For more information on BD-J, please see <a href="http://java.sun.com/products/javatv/">http://java.sun.com/products/javatv</a>. Q.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Mobile is global</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2007/05/mobile_is_globa.html" />
<modified>2007-05-09T00:59:15Z</modified>
<issued>2007-05-09T00:59:09Z</issued>
<id>tag:weblogs.java.net,2007:/blog/qmahmoud/396.7309</id>
<created>2007-05-09T00:59:09Z</created>
<summary type="text/plain">Orange believes the Mobile Service Architecture (MSA) is a fantastic opportunity as it opens up the doors to developers, and consequently consumers will have access to more applications...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>This afternoon I attended the general session on <i>Mobility and Devices</i> by Laurie Tolson, Vice President of Client Software Group at Sun.</p>

<p>She started her presentation by discussing how Java is everywhere: desktops, enterprise servers, devices, Blu-ray, 3 billion smart cards, etc. She said this is a great time to be a Java developer. :-)</p>

<p>Jason Ling of MySpace, which is the largest social network in USA, talked about MySpace mobile -- using Java to enable users to take their social network with them in their pockets. Java is enabling MySpace go mobile, and mobile is global.</p>

<p>Martin Wrigley of Orange/France Telecom, which is the first European integrated carrier, discussed how the Mobile Service Architecture (MSA) is a fantastic opportunity as it opens up the doors to developers, and consequently consumers will have access to more applications. Orange has 100 million customers in 92 customers and wants to offer more Java mobile applications to their customers. The first MSA mobile device is the SonyEricsson z50i.</p>

<p>Laurie talked about the Mobilizing Java Video Contest. Visit <a href="http://java.sun.com/javame/contest/">http://java.sun.com/javame/contest/</a> to learn about the winners and view the videos submitted. Q.</p>]]>

</content>
</entry>
<entry>
<title>JavaFX Mobile: The network in your hand</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2007/05/javafx_mobile_t.html" />
<modified>2007-05-09T17:24:01Z</modified>
<issued>2007-05-08T20:20:48Z</issued>
<id>tag:weblogs.java.net,2007:/blog/qmahmoud/396.7295</id>
<created>2007-05-08T20:20:48Z</created>
<summary type="text/plain">JavaFX Mobile is an exciting brilliant technology that will bring more media and richer experience to users, and to people who will never have the chance to experience the Internet on a desktop PC...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>Today Sun announced JavaFX, a consumer-focused family of Java technology based on Java SE. The first big component of JavaFX is a scripting language. Oh my! Why another scripting language? In James Gosling words, scripting languages tend to be focused on particular applications, and JavaFX Script is for developing media-rich Internet applications. JavaFX Script leverages Java's unmatched reach, stability, and security, and it designed for content professionals to reach out to the next ring of Java developers.</p>

<p>JavaFX runs on every Java SE platform unmodified. It is simple and easy to use, and the tools will be coming soon for content creation to allow developers to express their vision and creativity in developing media-rich Internet applications.</p>

<p>JavaFX Mobile is a complete and fully integrated Java software system for mobile devices. It is an open programming platform that will be available to OEM manufacturers worldwide. The idea is to break the hardware and software apart just like the desktop.</p>

<p>Demos were shown of several devices running JavaFX. It is capable of running all the SE, ME, and scripting code. In other words, your existing Java ME applications would run just fine on JavaFX Mobile. JavaFX Mobile is linux-based with native OS low-level services and libraries with a linux kernel. Everything else is Java-based.</p>

<p>JavaFX Mobile is an exciting technology that will bring a richer experience to users, and to people who will never have the chance to experience the Internet on a desktop PC. There are many places around the world where wireline infrastructure is non-existent, and hence mobile phones are widely deployed; for people at such places <i>the mobile phone is the computer!</i> Q.<br />
</p>]]>

</content>
</entry>
<entry>
<title>The Java Open Source Platform</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2007/05/the_java_open_s.html" />
<modified>2007-05-08T20:06:40Z</modified>
<issued>2007-05-08T19:10:53Z</issued>
<id>tag:weblogs.java.net,2007:/blog/qmahmoud/396.7291</id>
<created>2007-05-08T19:10:53Z</created>
<summary type="text/plain">Over 2 billion devices run Java. Such devices are beginning to multiply. To move this forward, there is a need to reduce the cost 
by opening every component of Java technology...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>This morning I attended the keynote speech: <i>Get in the Driver's Seat with Java Technology</i> by Rich Green, Executive Vice President of Software, Sun Microsystems. </p>

<p>John Gage, Chief Scientist, (the master of ceremony if you like) opened the session by welcoming everyone to the event and talked about Java in devices, which are beginning to multiply. To move this forward, there is a need to reduce the cost by opening every component of Java technology. So the session was really about open source Java, devices, and the next wave of tools. </p>

<p>Rich Green talked about community as a fundamental human property, and how barriers to community are falling. He encouraged the audience (thousands of developers -- over 14,000 are attending JavaOne this year) to think of technology as a catalyst, and how to further the network as an unstoppable social force. He presented some interesting numbers:</p>

<p>
<ul>
 <li>Mobile devices out ship PCs 20 to 1
 <li>There are over 6 million Java developers
 <li>Out of the 5.5 billion devices available worldwide, 2 billion run Java
 <li>GlassFish powers more business transactions around the world than any other system
 <li>The number of developers using NetBeans increases by 92% every year
</ul>

<p>I am not surprised by the last figure regarding NetBeans. As I mentioned in an earlier entry, NetBeans has come a long way in terms of ease of use and more importantly performance. Also, the support for Java ME is phenomenal -- the majority of Java ME developers use NetBeans!</p>

<p>The first Java Specification Request, JSR-1, is about Real-Time Java. Rich invited the CIO of NASDAQ (Anna Ewing) to share her thoughts on real-time Java. Their trading technology runs on Java on course. NASDAQ pioneered electronic trading 36 years ago. She also presented some numbers about trading, which there are scary to even think about. :-) Nevertheless, the number of transactions they perform <i>per second</i> on any given day is about 150,378. Anna talked about the importance of speed in the trading market. They are able to handle the surge of volume successfully (e.g. the Feb 27 domino effect of the sell-off on the Chinese market). On Feb 27 they handled 5 billion shares!</p>

<p>Finally, today marks the official completion of open source Java that Sun announced back in November 2006. A complete open source development kit is available: <a href="http://www.openjdk.org">OpenJDK</a>. There is more to open source than the source itself of course, and for that reason Sun is establishing an Interim Governing Board for creating constitution, and making available the certification kit (TCK) to ensure compatibility across the open source community. The license they chose was GLPv2, which is the same license used by the GNU/Linux community. Jonathan Schwartz, CEO and President of Sun, said that they have been surprised at the impact of open source Java and the license they have chosen, and developers and governments worldwide like the road Sun is taking with this as it will open more opportunities without friction with licensing. Q.<br />
</p>]]>

</content>
</entry>
<entry>
<title>NetBeans Mobility</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2007/05/netbeans_mobili.html" />
<modified>2007-05-08T04:03:56Z</modified>
<issued>2007-05-08T04:00:50Z</issued>
<id>tag:weblogs.java.net,2007:/blog/qmahmoud/396.7276</id>
<created>2007-05-08T04:00:50Z</created>
<summary type="text/plain">NetBeans is an IDE has that come a long way! You have to try it to believe it. Even James Gosling is using it instead of his Emacs. NetBeans Mobility is an add-on for Java ME developers...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>

<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>I arrived just in time for the <i>NetBeans Mobility: What's New?</i> session, part of the NetBeans Software Day. The session included some live demos from Ikivo, Mobile Complete, as well as a demo of Sun SPOTs.</p>

<p>NetBeans is an IDE has that come a long way! You have to try it to believe it. Even James Gosling is using it instead of his Emacs. NetBeans Mobility is an add-on for Java ME developers; it supports Java ME CLDC/MIDP and CDC. Since the CDC application model is not well-defined, NetBeans Mobility supports several products including SonyEricsson/UIQ, Nokia S80, RICOH, and others. Improvements in NetBeans 6.0 will include deployment on more devices (e.g. BlackBerry) and Java ME CLDC & CDC in one package.</p>

<p>Ikivo demonstrated their Animator, which enables quick creation of SVG content. A splash screen with a simple application was created in a matter of minutes.</p>

<p>Mobile Complete is the owner and operator of DeviceAnywhere.com. It is a subscription-based service that allows developers to get access to all kind of devices to test their applications instead of bringing the devices in-house for testing. It is a really cool concept. NetBeans Mobility enables you to easily deploy your applications on devices located thousands of miles away using DeviceAnywhere.com.</p>

<p>NetBeans can be used to develop applications for the ultra-cool <a href="http://www.sunspotworld.com">Sun SPOTs (Small Programmable Object Technology)</a> which are useful for wireless sensor networks among many other things. This is the vision of the “Internet of Things”. The demo shows how to turn a Sun SPOT into a base station (Mesh Networking) so that applications can be deployed over the air on other Sun SPOTs. What does this have to do with Java ME? Well, Sun SPOTs support the Information Module Profile (IMP 1.0) which is really MIDP without the LCDUI APIs.</p>

<p>In the closing session, James Gosling introduced members of the NetBeans team and others  who talked about their work. Of interest is the <a href="http://www.netbeans.org/community/magazine">NetBeans Magazine</a> (available online). NetBeans.TV was introduced with a 2-minute video clip featuring NetBeans on the Road 2007 – delivering NetBeans to you – traveling to Israel to deliver NetBeans CDs to developers because houses do not have numbers so postal services don't work. :-) You can see the clip at <a href="http://www.netbeans.tv">http://www.netbeans.tv</a>. I think the following comment from the clip is a bit political: <i>traveled to Israel to deliver NetBeans CDs to some Palestinian developers</i>. Q.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Off to JavaOne 2007</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2007/05/off_to_javaone.html" />
<modified>2007-05-07T02:44:06Z</modified>
<issued>2007-05-06T20:31:13Z</issued>
<id>tag:weblogs.java.net,2007:/blog/qmahmoud/396.7248</id>
<created>2007-05-06T20:31:13Z</created>
<summary type="text/plain">There are a couple of new and exciting things happening this year at JavaOne: the inaugural CommunityOne event that kicks off on Monday, and two new one-day tracks. This year two devices were chosen...</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>I'll be flying from Toronto to San Francisco tomorrow morning to attend JavaOne 2007. I will be there between Monday afternoon and Thursday evening; the weather forecast calls for lots of sun and blue sky, which will make walking from hotels to the Moscone Center a pleasant exercise for everyone. :-)</p>

<p>There are a couple of new and exciting things happening this year:</p>

<p>
<ul>
 <li>The inaugural CommunityOne event kicks off on Monday, May 7, one day before JavaOne gets rolling. CommunityOne is a free and open event to explore participation-based technologies, solutions and business models that are transforming lives and industries. NetBeans Day is part of this event. The full agenda is available here: <a href="http://developers.sun.com/events/communityone/pdfs/CommunityOne2007_agenda.pdf">http://developers.sun.com/events/communityone/pdfs/CommunityOne2007_agenda.pdf</a>
 <li>Two new one-day tracks: <a href="http://java.sun.com/javaone/sf/businessday.jsp">Java Technology Business Day</a> (Tuesday, May 8), and <a href="http://java.sun.com/javaone/sf/javatvday.jsp">Java Technology in TV: Blu-ray Disc and Cable Day</a> (Thursday, May 10).
</ul>

<p>I am particularly interested in the Java ME space, so I look forward to gaining new knowledge from the presenters of the many exciting technical and BOF Java ME sessions. And I look forward to seeing exciting stuff at the Mobility and Device Village (Pavilion) where exhibitors such as Nokia, Motorola, and Sprint will showcase the latest applications, devices, and services that run on Java ME. Speaking of devices, this year two devices were chosen for the JavaOne conference: the <a href="http://promo.motorola.com/motoming/index.html">Motorola MOTOMING A1200</a> and the <a href="http://www.wowwee.com/robosapien/robo1/robomain.html">WowWee Robotics RS Media (Robosapien)</a>. Both devices will be available at a discounted rate for JavaOne attendees.</p>

<p>If you're interested in Java ME and want a little guidance in organizing your schedule to make the most out of the Java ME cool stuff, I recommend <a href="http://weblogs.java.net/blog/terrencebarr/archive/2007/04/your_java_me_gu.html">Terrence Barr's Java ME Guide to JavaOne 2007</a>. In particular, you may want to print a copy of his <a href="https://mobileandembedded.dev.java.net/files/documents/5883/57272/file_57272.dat/ME%20JavaOneR8.pdf">Java ME Pocket Guide</a>.</p>

<p>I will be giving a mini-talk on Tuesday at 12:00pm at the community Corner in the Pavilion (pod# 408) in which I will share my experience into integrating Java ME and BlackBerry wireless devices in computer programming courses. If you cannot attend but would like to learn more, please see <a href="http://uoguelph.ca/~qmahmoud/javame">http://www.uoguelph.ca/~qmahmoud/javame</a>.</p>

<p>During the conference, my blog entries about Java ME will be posted at <a href="http://mobileandembedded.org">http://mobileandembedded.org</a> -- the open source community for mobile and embedded devices powered by Java ME. Q.<br />
</p>]]>

</content>
</entry>
<entry>
<title>Networking MIDlets and blocking operations</title>
<link rel="alternate" type="text/html" href="http://weblogs.java.net/blog/qmahmoud/archive/2007/04/networking_midl.html" />
<modified>2007-04-18T20:44:31Z</modified>
<issued>2007-04-18T20:41:23Z</issued>
<id>tag:weblogs.java.net,2007:/blog/qmahmoud/396.7086</id>
<created>2007-04-18T20:41:23Z</created>
<summary type="text/plain">Pay special attention to blocking operations (e.g. methods that establish a connection to the network) which can lock up the mobile device&apos; screen, leaving the user frustrated with the application. To prevent this, all blocking operations should be performed in a separate thread.</summary>
<author>
<name>qmahmoud</name>

<email>qmahmoud@cis.uoguelph.ca</email>
</author>
<dc:subject>Community: Mobile &amp; Embedded</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://weblogs.java.net/blog/qmahmoud/">
<![CDATA[<p>I get many email about the application featured in the article <a href="http://developers.sun.com/techtopics/mobility/midp/articles/persist">MIDP Database Programming with RMS</a>. The application locks up the screen as the MIDlet tries to establish a wireless connection. This article was developed back in 2000 and back then everything worked perfectly. However, when developing networking MIDlets, pay special attention to blocking operations (e.g. methods that establish a connection to the network) which can lock up the screen, leaving the user frustrated with the application. To prevent this, all blocking operations should be performed in a separate thread. A more detailed explanation of this can be found in <a href="http://developers.sun.com/techtopics/mobility/midp/ttips/screenlock/index.html">Preventing Screen Lockups of Blocking Operations</a> in which I provide a detailed example of a network time MIDlet client.</p>

<p>To fix the problem in the Stock Quotes MIDlet from the MIDP Database Programming article, edit the QuotesMIDlet.java file, and:</p>

<ol>
 <li>Create a new method as follows:

<pre>
public void makeConnection() {
   try {
      String userInput = input.getString();
      String pr = getQuote(userInput);
      db.addNewStock(pr);
      ticker.setString(tickerString());
   } catch(IOException e) {
   } catch(NumberFormatException nfe) {
   }
   mainMenu();
}
</pre>

<p> <li>Replace the following piece of code:</p>

<pre>
} else if (label.equals("Save")) {
   if(currentMenu.equals("Add")) {
      // add it to database
      try {
         String userInput = input.getString();
         String pr = getQuote(userInput);
         db.addNewStock(pr);
         ticker.setString(tickerString()); 
      } catch(IOException e) {
      } catch(NumberFormatException se) {
      }
      mainMenu();
   } 
}
</pre>

<p>with:</p>

<pre>
} else if (label.equals("Save")) {
   if(currentMenu.equals("Add")) {
      Thread t = new Thread() {
         public void run() {
            makeConnection();
         }
      };
      t.start();
   }
}
</pre>
</ol>

<p>And this should solve the screen lockup problem. :-)</p>

<p>There will be lots of Java ME cool stuff at JavaOne this year. To get an idea of what's planned for then, take a look at <a href="http://weblogs.java.net/blog/terrencebarr/archive/2007/04/your_java_me_gu.html">Terrence Barr's Java ME Guide to JavaOne 2007</a>. Q.<br />
</p>]]>

</content>
</entry>

</feed>