May 31, 2004

Source for MIDlog 0.3 available at SF.net

I've just released the source code for MIDlog 0.3 to its Sourceforge repository. Besides the code for the J2ME client, it includes the source code for the web application used as the server side component by MIDlog.

Also, be sure to checkout Bloglib, which is the library I wrote to communicate with several weblog systems in an easy and straightforward way.

Posted by dcrocha at 02:23 AM | Comments (0)

May 27, 2004

MIDlog 0.3 released

Hello people, MIDlog 0.3 has just been released.

I had a tough time finishing it because there were some big changes in the code structure, and I also had several problems with my home Internet connection that ended up delaying this release, but now it is here.

It contains some bug fixes and some new features summarized in the release notes below.

NOTES:
=====

- Added "Title" and "Category" support for Movable Type weblogs.
- Much better waiting screens.
- GPRS connection is now forced to close. This fixes a bug from previous versions, where the connection stayed open even after the post was performed, thus wasting resources and ...money! :D
- Added support for generic weblog systems that support Blogger API (Nucleus, Live Journal, etc.)
- Removed support for Live Journal as a separate entity. It is integrated to the Generic Blogger API blog type now.
- Fixed bug that prevented it from being installed thru a local connection (Bluetooth, Data cable, etc.). In the previous releases, the application parameters were specified only in JAD file, but now they are in both JAD and Manifest (which statys inside the JAR file) so there shouldn't be any more problems. (Thanks to David Kaspar) for that one.

KNOWN ISSUES (IMPORTANT):
===================

- I am aware that some users have been adding other weblog types (such as Nucleus) using the "Movable Type" option and changing the post url to match the added system's. *This won't work anymore*. Why? Movable Type was being supported using the Blogger API, but now it is supported by MetaWeblog API (that made the title and category support possible), so if you, for exampled, added Nucleus as a Movable Type blog, it won't work anymore, because Nucleus only supports Blogger API, not MetaWeblog. To overcome this problem, edit the blog options, changing the Blog Type from "Movable Type" to "Generic Blogger API", and changing the post url. Then it will get back to track.
- Your old Movable Type blogs will appear without the categories when if you upgrade to 0.3. This is expected behavior, because the blog data is saved locally and in previous versions categories were not supported. To work it out, just go to "Edit Blog", then click your old MT blog, and hit "Refresh blog categories" and it will be updated correctly.
- Users that had Live Journal weblogs will have to re-add them as Generic Blogger API weblogs, because direct support for Live Journal was removed because it became redundant.

If you have any questions, comment here or shoot me an e-mail

Download MIDlog 0.3 with your phone at http://rawsocket.org/midlog.wml or at Getjar.com

Enjoy!
[]s
Daniel

Posted by dcrocha at 12:53 PM | Comments (0)

May 26, 2004

Stay tuned

MIDlog 0.3 will be release tonight, with some nice new features, including support for generic Blogger API blogs, title and category support for Movable Type and so on.

Stay tuned :)

Posted by dcrocha at 04:39 AM | Comments (0)

May 14, 2004

MIDlog added to getjar.com

Today I received an invitation by Serge Korotkoff, from GetJar.com, to put MIDlog there to be downloaded by GetJar users. I uploaded all information needed and very soon the app will be available for download there.

Update:
Here is the MIDlog page at getjar.com

Posted by dcrocha at 11:19 AM | Comments (83)

May 11, 2004

MIDlog 0.2 is out!

Hello folks, i have just released MIDlog 0.2. It contains some bug fixes and minor new features summarized in the release notes below. I added some comments here that are not available in the release files that come with the source code (download it here if you are a developer).

NOTES:
=====

- Better error-handling in the new post screen. (In the 0.1 release, when an error occurred in the "Write your post" screen, the only command available on the screen was the "Edit" command, thus preventing the user from trying again with exiting the application, and obviously, losing the post)
- Added Live Journal support. (It was already supported, but I had forgot to put the icons and menu items)
- Added support for accented characters (Full UNICODE support is on the way, but not now) (Thanks to Moe for that one. I had two problems: first one was to set UTF-8 as the default encoding for the XMLRPC client. That made, the accented chars started to work, but only with Blogger.com. The other implementations of BloggerAPI seemed broken in this topic. So i added, in the server application, manual handling of accented characters, transforming all characters greater than 127 and smaller than 255 in their XML entity presentation : &#nnn;. Full unicode support isn't available yet, because for that to work I need to write a function that URL-encodes the parameters using UTF-8 encoding, not only ISO-8859, which is the default).
- HTTP connection method changed, making the operation faster and more secure. (In 0.1, I used GET method, but that was bad because it could leave undesired user information in the web server's log files. I changed to POST and tried to mantain the same speed and reliability).
- Better URL encoding of the content. (In fact, in 0.1 there was almost no url-encoding at all :D )


Users can download the new version here and developers can download full source code here.

Enjoy!
[]s
Daniel

Posted by dcrocha at 03:33 AM | Comments (305)

May 05, 2004

MIDlog 0.1 released

What is MIDlog?

Is a free J2ME application that uses Blogger API to post content to a weblog or site running some Blogger API-compatible software, like Blogger.com, Movable Type, Live Journal, etc. With MIDlog, a user can update his/her weblog or website using his/her cell phone, handheld or other wireless device that supports Java J2ME applications.

System requirements
A wireless device compatible with any current version of MIDP. That includes cell phones, handhelds, etc.

For the end user:

Interested?

  • With your device, browse to http://rawsocket.org/midlog.wml, download and install the application.
  • Once downloaded and installed, open the application and go to the "New blog" option.
  • Create a new blog, choosing a type (Movable Type or Blogger), filling all needed data and save. Obs.: the "blogid" field must be filled with your blog's id in the target system. Consult the support for the product if you don't know what I'm talking about.
  • Get back to the main menu, choose "new post" option.
  • Selected the blog you've just created and write something in the text field. Choose the "Post Text" option.
  • Go to your weblog and check your brand new wireless-made post!

For the developer:

MIDlog is open-source and GPL software, so you can modify it and customize it the way you want, only making sure you do not remove the credits from the source files, but add your new credits instead.

  • Make sure you have Ant installed because that will make the build a lot easier.
  • Also make sure you have some MIDP SDK installed on your system, like Nokia Developer Tools or Sun J2ME Toolkit. This is mandatory because you cannot compile J2ME source files using normal JDK without setting the "-bootstrap" parameter to point to your SDK's lib/classes.zip file.
  • Download MIDlog source code from its SourceForge repository.
  • Unzip midlog_0.1.zip into a folder, from now on referred as <installdir>
  • Change to the <installdir> directory, in a command prompt or shell.
  • Configure build.xml's "midphome" property to point to your SDK. The example file contains the following line: <property name="midphome" location="C:\NokiaJ2ME\Devices\Nokia_7210_MIDP_SDK_v1_0\"/> because my SDK is Nokia's one and is located in the path above.
  • Run ant
  • You should now have a MIDlog.jar in the <installdir>/Build folder.
  • Edit MIDlog.jad file, setting the parameter "MIDlet-Jar-Size:" to the size in bytes of your MIDlog.jar
  • Deploy the application: put MIDlog.jar and MIDlog.jad in a web server that your cell phone can reach via Wap or GPRS.
  • Follow this procedure to install the application and use it.

    The bloggerapi.war file

    As you know, J2ME devices have a lot of restrictions related to the size of an application jar, its use of memory, etc. To minimize these limitations, i split the application in two parts: a thin client part, which is the MIDlog.jar file, and a server part, which is the bloggerapi.war file. This web application file, when deployed, exploses a servlet, called bloggerservlet, that handles requests coming from the MIDlog by standard HTTP.

    When you run the application using its default "MIDlog.jad" file, you will be posting your requests to the URL specified in jad's "ServletURL" parameter, which, in the default instalation, points to:

    http://rawsocket.org:80/servlet/bloggerservlet

    In case you want to post to another URL, just deploy bloggerapi.war file in your web server (Tomcat or something like that) and edit the MIDlog.jad file to fit your new url:

    http://yourhost.com:80/path/to/bloggerservlet

    Also, do not forget to change MIDlog.jad's "MIDlet-Jar-URL" property, from:

    http://rawsocket.org/MIDlog.jar

    To

    http://yourhost.com/Path/To/MIDlog.jar

    OBS.: I will post the source code to bloggerapi.war to SourceForge as soon
    as they setup a new project for me :)

    OBS 2: Do *not* forget to put the tcp port in your URL, otherwise a lot of devices won't recognize the url format.

Screenshots

I have put together some screenshots I took when running MIDlog in a Nokia emulator:

Contact

Visit Floating point weblog to find more about me, or Rawsocket web site to find more about Rawsocket.

[]s
Daniel

Posted by dcrocha at 03:58 PM | Comments (236)