WordPress Proposal

Personal Details

Name: Thomas Geraghty
Email: thethomaseffect [a-t] gmail.com
Personal Website: http://thomasgeraghty.wordpress.com
Skype ID or GTalk:
Skype (preferred): thomas.geraghty
GTalk: thethomaseffect@gmail.com
IRC nick: thethomaseffect
Phone number: (00353) 0861520772
School Name: Galway-Mayo Institute of Technology
Years completed: 2
PHP Experience Level: Intermediate
WordPress Experience Level: Current user

Project Description

Link to project description on WordPress-powered blog: http://thomasgeraghty.wordpress.com/google-summer-of-code-2011/wordpress-proposal/

Describe your idea in detail:

My idea is one taken from the list of suggestions on wordpress.org. I would like to take the existing WordPress for Android app and optimize it for the host of Android 3.0 Honeycomb tablets which are sure to be coming out in the next few years. I’d mainly like to focus on:

  • Revamping the User Interface to take advantage of the new Fragments API. I’ll be focusing mostly on ensuring compatibility with older versions of Android and making a UI similar to the one posted here 
  • New asynchronous loading of data using Loader class should be used to ensure content is loaded simultaneously loaded and switched between in an elegant manner. ] Priority: High.
  • Incorporating the new “Action Bar”. Since a sidemenu on the left of the app would be used for navigating between Post Editor, Comments etc. this could be used primarily to serve the same function if the tablet is held in portrait view to maximize writing area, although any other suggestions are welcome. Priority: Medium
  • Android 3.0 includes a new system-wide clipboard. This would prove incredibly useful for WordPress Mobile users as it would allow them to quote webpages, copy from a dedicated text editor etc. It should be simple to allow users to copy text from the WordPress Post Editor and paste to it, and will be expected of users. Priority: High

Additionally, if time permits, I’d also like to implement some of the following:

  • Widgets have been expanded in 3.0 and a “New Comments” widget that could be added to a user’s home screen would be both easy to implement and useful to users. Priority: Low
  • Dragging and Dropping has been greatly expanded in Honeycomb, and if users could insert an image into their post by dragging it from their Gallery (bringing up a prompt to caption, add description etc. like on WordPress.com) or a YouTube video by dragging it from a browser.  It would provide a great feel of integration with Android as a whole. Priority: Low
  • Add support for real keyboards and expected shortcuts such as hitting Page Up or Home. Hopefully add support for WordPress’s keyboard shortcuts in the browser, providing they have been enabled. Priority: Medium
  • Possibly utilize the new WebViewFragment class to load WordPress features such as Support Forums not yet included in the mobile app. On older versions of android this could simply launch the page in the User’s browser. Priority: Medium

 

I realize that this is an extensive list and that not all of it can be implemented in the time allocated in GSoC. If accepted I hope to speak with my mentor about prioritising these in the interests of the community. If any of these cannot be implemented I would like to explore working on them after GSoC should there be a demand.

What have you done so far with this idea: I’ve done extensive research into the new Honeycomb Fragments API and all the new features for developers in the new release. Most of this has been on the Android developers documentation at http://developer.android.com. I shared my idea on the wp-hackers mailing list but received no response, possibly due to my project not differing too much from the original idea. I linked potential mentor Dan Roundhill (mrroundhill) to my proposal on my blog, and he said that I had a good proposal and liked some of the additional features that I proposed.

 

Plugin, theme, or core: This will be core to the WordPress Android app, and all efforts to maintain backwards compatibility will be made. I am told that the minimum SDK version will be bumped up to Android 1.6 soon, so this shouldn’t pose a problem.

Anticipated challenges: My only worry is with how new Android 3.0 is and that an unforeseen problem may arise while implementing the new features. This might be a setback on deliverables but I believe no project is completely free of these worries, and I will account for them in my timeline just to be safe. Other than that I am confident in my abilities to complete the project and have a completely free schedule for the summer.

Potential mentors: I’ve spoken to Dan Roundhill (mrroundhill) a few times on IRC. I talked about my experience as an Android and Java developer and he gave me advice on what to research, which was incredibly helpful.

Schedule of Deliverables

Milestones and deliverables schedule: 27th April – 24th May – Read Documentation, become more familiar with current code, revise this list with mentor to ensure it is feasible

24th May – 28th May – Word on getting application to compile and run on Android 3.0 emulator. Begin work on implementing new user interface.

28th May – 18th June – Complete work on new UI.

18th June – 25th June- Work on fixing all bugs in new UI. Test new UI on older version of Android and different screen sizes.

25th June – 11th July – Begin implementation of global clipboard. Clean up code and prepare for mid-term review.

17th July – 30th July –  finish implementation of global clipboard. Begin work on Action Bar.

31st July – 15th August – Implement drag and drop image support and support for real keyboards.

16th August – Clean up code for final review

Other commitments: While my exam timetable has not been released yet there is a rumour that my final exam of the semester will fall on the 24th of May, the day students start coding. This might mean that I’ll have to start a little later in the evening than planned, but I’ll make up for it the next day!

Other than this my schedule is free for the summer as it stands and I have very little commitment.

Open Source Development Experience

PHP Experience: I have a little PHP experience, but since this project is mostly about Java, Android and pre-existing WordPress API libraries I will speak about these. I have studied advanced Java, data structures, and Android development in college and received good grades in relation to these subjects.

WordPress Experience: I have used WordPress as a blogger for about 2 years and always loved its ease of use. Additionally I use the existing WordPress Android application so getting to work on it and extend it would be a dream come true. I have not worked on any WordPress Plugins or themes, though I have always had an interest in doing so. I have looked through the mobile app’s source code which I downloaded from Subversion and compiled in Eclipse, making small changes to see the effects, so I feel confident with the code that I’ll be working with.

Other Open Source/Free Software Experience: I am a member of the Irish Ubuntu LoCo team and am a strong supporter of open source software. In the past I have made small changes to the website (http://ubuntu-ie.org/) as an administrator and at the moment I am working on moving the site to a new server and giving the entire UI an overhaul. A prototype is available here: http://i196.photobucket.com/albums/aa1/gilgameish/site_prototype_1.png

I also use development releases of Ubuntu and report bugs whenever I can.

Work Experience

Work Experience: Other than small amount of web development and graphic design, my only job was working as sales assistant in Tunes Music Shop, Ballyhaunis, Co. Mayo. (Jan 2006 – Sep 2006). While that was the title, I was essentially managing the shop, making orders from companies and sorting out the books. I even ran the shop singlehandedly for three weeks while my boss Anthony Waldron was on his honeymoon while only 16. This definitely helped me deal with people in the workplace better, though it was a very different experience from open source development.

Academic Experience

Academic Institution: Galway-Mayo Institute of Technology, Dublin Road, Galway City, Co. Galway, Ireland

Current Program: BSc. Computing in Software Development Yr. 2

Anticipated Graduation: 2012

Academic Performance: Software Development (Using Java and Eclipse IDE): 74%
Mobile Programming (Android): TBA    
Data Structures (Java OO Programming): TBA
Database Management (MySQL): TBA

GSoC for Credit: No

References: John Healy: john.healy@gmit.ie
Damien Costello: damien.costello@gmit.ie

Why WordPress?

You’re applying to work with WordPress during GSoC because:

I have loved using WordPress for a long time. I have loved open source software for a long time also. I’ve always wanted to give something back to the community in a big way but have never known where to start. I think GSoC is the start I’ve been waiting for, and I’m hoping that it will be the start of many years of programming with WordPress. I chose WordPress over other projects because it’s something I use and I found the ideas posted very compelling.

After GSoC, you envision your involvement with WordPress will be:

Successful or not, I’d definitely like to continue to work with WordPress after the summer. I had many ideas about the project while researching it and I’d love to try to implement some of these along with helping to fix bugs and make WordPress Android better for everyone.

 

One thought on “WordPress Proposal

  1. Pingback: Wordpress Answers » Answers Archive » Google SoC 2011 Proposal

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s