Thursday, September 25, 2008

Four steps forward two backward...

This blog entry is a little later than normal. For the last week and a half, I have been working to clone my .Net GCC Mapz thick client application into a similar version written as a Java MIDlet. When it comes to thick clients, there is no one common mobile app solution (yet!). .Net, Java, iPhone and Android all are different that require different solutions with no dominant solution (although I have my preference so far) The .Net version of GGC Mapz will run on a .Net mobile device and the Java MIDlet will run on about everything else (almost).

The Java environment is one that has been in place for some time and offers the mobile app designer a variety of processes and tools for development. For my GCC Mapz app, I chose a MIDLET (like applet) for CDLC which is a version of Java mobile apps for more powerful (processor and memory) mobile devices. I found that Java development was much slower than .Net. Part of this is that I am a more experienced .Net programmer and partly because the .Net development tools are much more robust (more function). I worked with two Java IDE's. I used a Sun community open source IDE called NetBeans (version 6.0.1) and I also used the Java Wireless Toolkit 2.5.2 for CLDC. Both are a development standards for Java mobile apps with each having different strengths and weakness.

As an FYI, I have listed strengths and weaknesses of both (my opinion only)
...

Java Wireless Toolkit 2.5.2

Strengths:
  • Most stable and been around the longest
  • Some examples on the Internet
  • The components are many and have most or what you would want for development
  • Decent documentation with examples
  • Interface very easy to understand
Weaknesses:
  • No coordinated IDE that you can use to access all of the necessary tools for development
  • No integrated debugger (BIG PROBLEM)
  • Documentation could be better

NetBeans 6.0.1

Strenghts
  • Integrated IDE - All tools available from one program
  • Good debugger
  • Included Examples
  • View Design (see weaknesses)
  • Has tools unavailable to the JavaWireless Toolkit
Weaknesses
  • Document voluminous but not as helpful as could be
  • A big foot print on install (takes a lot if space)
  • If you use Visual Tools development is quite a bit different that without the visual designers where development is similar to Java ME SDK
  • The IDE has so much attached to it that it can be difficult to use
Winner:

NetBeans (so far).... Without an integrated debugger Java mobile apps are a challenge. Java mobile apps are fundamentally different than with a Windowed app and requires practice to become proficient. Bottom line... Even if you are good at Java apps you will need to learn a additional skills for mobile apps. This is contrasted with the .Net IDE Visual Studio where development in a PC or mobile world is almost identical.


What the Java mobile environment needs is more examples and the programmer needs a lot of time to get comfortable with the design and coding. Screen controls for Java are fewer and less robust than their PC counterparts. As you will read in my thick client review of Java, I had to cut back on some of the features build into the .Net GCC Mapz program because of limitations (mostly caused by my inexperience with this part of Java).

Moving on ... yes I am moving on. I have a workable GCC Mapz Java program which I can use for deployment testing so I am going to leave it at that for now. I am going to start with an Android version of GCC Mapz which is also Java (a different IDE and the industry leader - Eclipse IDE) but have been impressed with the amount of documentation Google has made available. I am encouraged.

On the taking more steps forward..

This past week:

Google Android is demonstrated on T-Mobile phone. See articles on web site.

Monday, September 15, 2008

Thick Clients Started...




This past week I started the section of my sabbatical on thick clients. This phase has two outcomes I am investigating.

Outcome one has to do with the development of a download able mobile app that would serve some educational purpose. I have decided on an application I started last year that displays a search able campus map (GCC Mapz). Since the first couple of weeks of school are always challenging for a new student to find their way around and since evening students do not have the available persons to ask directions to rooms and buildings on campus, I have written and application that can be downloaded once and used over and over to help locate building at GCC.

The application is already mobile ready for the .Net environment (and for mobile devices running the Microsoft Mobile or SmartPhone operating systems). I am now focusing on writing the application using the Sun Java Mobile SDK so that it can run on more types of mobile devices and finally, I will develop it on the Google Android environment which represents a future platform for mobile applications. I am working through the Java app right now.

GCC Mapz running in Windows PDA Emulator




















The second outcome I am interested in for thick clients will be deployment. What cell phone carriers can I download these applications to and the process for doing so? This is an area where I do not have much existing experience and I am expecting to spend time with Verizon, t-Mobile, AT&T, Sprint and Qwest staff and technical web pages understanding how applications are downloaded from their systems.
This is an area which is rapidly changing due to the success of the Apple iPhone and the iPhone App Store.

I will also look at other deployment options such has Internet based wi-fi connections and Blue-Tooth connectivity.

I will do a little traveling this week so my sabbatical goes mobile. Keep watching my mobileDot web site for changes (note: with Google Site you can subscribe to changes and see how and what I am updating).

Let me know what you think out my blog and web site by sending an email.


Monday, September 8, 2008

A (thin client) tool is born...


One of the goals for my sabbatical is not to reinvent the wheel in regards to mobile apps but to make creating content for the average faculty developer, easier. To take existing technology tools and software and combine, simplify and integrate. To this end, I have taken the findings of my first three weeks of work on thin clients and created a tool called
mLearning Experimental 1.












It is a simple and very controlled html editor that hides from the author the technical settings in html and CSS necessary to display a web page readable on both a PC screen or a mobile device screen. As the screen shot shows, I have the same content on two different screens. This meets one of my goals which it to have a tool that allows faculty to create a page once and let the student view it from either a PC or mobile device.

Mobile page Screen Shot larger view





PC Page Screen Shot larger view



The program I created to accomplish this is almost completed testing. I have a few features I need to add before I can make it available to download. Anyone who would like to test it out shout let me know via email or a comment to this blog.

Visit my web site to see all three parts of my thin client project.

Next Up:

For this week I am going to move in to thick client projects where I have a campus map application that can be downloaded to smart device. The Microsoft .Net version is one I started earlier and is near completion. I will be porting the same application to both Google Android environments and the Java Mobile environment. With thick client, the entire application is downloaded to the phone so Internet connectivity need not be a requirement.



Food for thought:

I am investigating mobile technology primarily as a secondary source of content for the student. With the current state of cell phone tech (not all cell phones can run thick client apps or do not have access to the Internet), I can not assume all students have the accessed needed to make this the primary delivery mechanism. How long do you think it will take for all cell phones to have Internet access as a part of standard cellular plans? If you have a guess let me know and also go to my web site and take the mobile app survey on the top right corner of the web page.



Tuesday, September 2, 2008

Mobile Page Authoring Made Easier for Educators...



Most of my time this past week was spent narrowing down css and xhtml elements that work best with mobile devices. I have decided that the content format will be xhtml with all style controlled by css (cascasding style sheets). This will make the templates more difficult for a novice user to understand but provide a much more effective standard for content development. My hope is that by creating templates for the user, all the user will need to do is fill in the text.

A major design goal of my sabbatical is to create mobile device solutions for the faculty member with average web authoring skills.

In the area of "making it easier" for the novice. I have found a product and a site that should (with some tinkering by me) make the creation of standard learning documents (syllabus, assignments, reading and assignment calendar, lecture and collabaloration) as easy as typing with the help of exeLearning. Another resource is .mobi. .mobi is a site dedicated to mobile content and application development. The best thing about .mobi is its resources and a tool that will test your web pages to see how well they will function on a mobile device and what would need to be done to make the pages "mobile ready".

Below some specifics...

ExeLearning

exeLearning is a project coordinated out of New Zealand with funding supplied by a vari ety of government and university resources. This is the second time I have seen quality open source learning tools come from our friends in the south pacific. The project is essential a tool that
works with the FireFox browser to give the web page author a series of iDevices that can add content to a web page. You can make your own iDevices or use theirs. iDevices have already been created or freetext, multiple choice, objectives, case studys, etc. to name a few. The iDevice
elements add themselves to the page and you fill in the details. You can have multiple pages and a visual tool tracks the pages built. There are a number of ways to export your finished pages (xhtml format) to a web server. SCORM is also support. I would give this tool a look even if
you are not interested in mobile learning and just need a easy to use tool for creating learning content. There web site has all of the files to get started along with help documentation and a member forum. The is product is open source so you can also download and look at the
programs. This is where I will need to spend time if I add a mobile option to deliver exeLearning pages to a mobile device.


.mobi

.mobi is a organization from Ireland. Their web site is http://mtld.mobi/. It is not dedicated to education but the broad field of mobile computing. It has some excellent materials on mobile standards and a tool called readi.mobi that will check a web page for elements that will cause problems when rendering a web page. This site is for the more advanced mobile developer but I have found it invaluable at this point.


Google Chrome this week...

As I am writing this blog, the blogosphere is a buzz with the announcement of a new browser from Google (9/2). The browser, called Chrome, will be available this afternoon and I will certainly evaluate it as it pertains to mobile learning. I will be starting on my Android apps later in the week so I guess the theme for this week and next will be Google.

Help me Test

I have added a link a the top of my mobileDot web site to solicit the emails of people who would be interested in helping me test mobile pages or mobile apps. Since I am mostly at the mercy
of mobile emulators testing on the real deal is important. All I would need is for you to is is to load a page from the Internet or possibly install a mobile app and some feedback as to how it works.