HTML5 Mobile Template for Apache Roller

Shelan Perera

Short description: Roller is a full-featured, multi-user and group-blog server suitable for blog sites large and small. It has features such as multi-user and group blogging, comment moderation, spam prevention, RSS 2.0 and Atom 1.0 support. This project will modify the Roller blog rendering system to support mobile-ready blog theme templates, and providing one example theme that uses these features in combination with HTML5 to show full-sized pages to desktop browser users and small format pages to mobile users.

Additional info: https://issues.apache.org/jira/browse/ROL-1919

Proposal Title: HTML5 Mobile Template for Apache Roller

Student Name: Shelan Perera

Student E-mail: shelanrcATgmailDOTcom

Organization/Project: Apache Roller

Assigned Mentor:  Dave Johnson

 

Proposal Abstract:

 Roller is a full-featured, multi-user and group-blog server suitable for blog sites large and small. It has features such as multi-user and group blogging, comment moderation, spam prevention, RSS 2.0 and Atom 1.0 support. In nutshell roller is a blogging engine.

Mobile browsers are starting to eclipse desktop web browsing and, unfortunately, most Roller themes do not work well on small-format mobile devices. This project will address this shortcoming by modifying the Roller blog rendering system to support mobile-ready blog theme templates, and providing one example theme that uses these features in combination with HTML5 to show full-sized pages to desktop browser users and small format pages to mobile users.

 

Detailed Description:

Project Details

An Apache Roller blog can pick a theme that defines how the blog appears in a web browser. All the templates in roller use HTML tags along with Apache Velocity code. This project focuses on modifying the Roller rendering system to support mobile browsers and developing an example mobile theme which will render according to the browser and user preferences.

HTML5 is platform independent can use with any device which support HTML5. Therefore this solution will be applicable to most of the devices which can render HTML5 without concerning there mobile platform. HTML5 has lots of advantages over the current version of HTML4. Application cache offline capabilities,Client side database , Improved semantics etc.

Apache Roller’s current themes target normal desktop browsers and in a small handheld device the visual friendliness is not improved with a small screen. Apache Roller provides a comprehensive set of tools to extend its look and feel with velocity macros and data object model.

The mobile theme will have to render its pages according to the user preferences. In other words if a user needs the complete website it needs to save that preference and render accordingly. The mobile theme will switch to desktop or general theme after identifying the screen size and a  users can override their preferences according to their requirements.

Mobile theme will include all the required features for a optimized reading environment and consist of blog pages , feeds , Bookmarks in a tabular structure when appropriate.The key focus would be to render essential blog details preserving visual clarity and affordance.

In this project i am planning to integrate HTML5 capabilities to maximize the blogging experience of users which will differentiate it from an ordinary theme. Further consideration is to make the UI effective for touch control since the future concerns are fully touch based handheld devices with less button controls which I am going to emphasis more in the implementation

 Rendering Options for different user preferences


 

Additional Information:

 

My Contribution to Roller and initial research on Project


I am really interested in Apache Roller project since web development is one of my interesting areas.I have contributed to Apache Roller by submitting patches and adding documentation.

Patches submitted:
I have started a discussion [1] in the mailing list to get the correct guidance and feedback from the community as well as potential mentor.

I have researched on HTML5 usages in mobile platforms. Since mobile devices are small i read about the best practices on HCI and how to adopt to the human factors with best UI designs. I looked the similar implementations in Wordpress and Joomla and tried to get the best implementation which suits Roller users.Further I looked the tutorials on Roller custom theme implementation and its usability to mobile theme with velocity Marcos and data object model.

Community Interaction and Project communication

I have past experiences on open Source community interaction in Xwiki.org and Apache Axis2. I would like to utilize the knowledge and the assistance that i get from the community. I have understood the important of discussing the important step among the community members who have more experience in the code base and issues they have been fixed already.

I would like to publish my progress of my project in my blog or to start a dedicated blog to give complete details about the project. I hope that would enhance the visibility of the progress and also would be helpful in extending the project in the future.

Project Schedule

This is the project break down aligned with the GSoC timeline.

March 18 - April 8 - Discussing the project Idea of Roller HTML5 mobile theme with community.Propose the project idea.

April 25th to May 23th -Reading about HTML5 , Roller Architecture and start with the use case design.Discuss in the community about detailed implementation and define clear goals and boundaries of the project.

May 23rd to July 11th - First and the second phases of development. Submit the workings for mid-term evaluation and getting the feedback from developers and mentors about the work done up to that point.

July 15th to August 15h - Third phase of development

August 15th to August 22nd- Code review. Test different scenarios defined in the design phase. Prepare the documentations. Submit the workings for final    
evaluation.

Biography

I am Shelan Perera, a Final Year Undergraduate of University of Moratuwa, Sri Lanka [2] specializing in the field of Computer Science and Engineering. I started my Open Source contribution with XWIKI [3] as i developed a module to export wiki pages to Open Office formats.

I have completed a successful project for Apache Axis2 in GSoC 2010 [4] which integrates Free Pastry to Apache Axis2 to enable peer to peer capabilities. I was an intern at WSO2 [5] which is a open source company for complete SOA middle-ware.During the internship i exposed to Apache like open source model and involved in developing a complete demonstration framework for entire middle-ware platform.

Since i have been involved with Open Source projects i have a good understanding about the community interaction and development procedures.I have an interest on distributed system and related technologies.

At present i am engaged with the final year project at the university which is to develop a Storage Resource Broker [6]  for data intensive application.

I have involved mainly in Joomla CMS based web solutions which nourished myself with web user experiences and related technologies with having the experiences as a user with Word press and Movable type.I have technical capabilities on Apache Velocity , Maven ,HTML and CSS and Java Script, PHP and Java.Further i have sound knowledge on SOA related technologies and have high interest on distributed systems.

I have less University related work during summer time so i have ample time to contribute this project allocating 30-40 Hours per week.I am really passionate to become a committer in Apache Roller and contribute to its success.

References

[1] http://old.nabble.com/Roller-Mobile-editing-interface-for-bloggers--Proposal-
-td31117449s12275.html
[2] http://www.mrt.ac.lk/
[3] http://www.xwiki.org/xwiki/bin/view/Main/WebHome
[4]http://code.google.com/p/google-summer-of-code-2010-asf/downloads/detail?nameShelan_Perera.zip
[5] http://wso2.com/
[6] http://wiki.mahasen.org/index.php?title=Main_Page