GSOC Proposal – WordCamp App for iOS

WordCamp app for iOS

Personal Details

Name: Suhas Sharma

Email: [redacted]

Personal Website: http://suhastech.com

Skype ID or GTalk: sharmasuhas on Skype . [redacted] on Gtalk

IRC nick: sush24.

Phone number: +91-[redacted].

School Name: PES Institute of Technology.

Years completed: 3

PHP Experience Level: Intermediate.

WordPress Experience Level: Plugin/theme developer.

Project Description

Link to project description on WordPress-powered blog: http://suhastech.com/gsoc-proposal-wordcamp-app-for-ios/.

Describe your idea in detail:

This project is about building an app for Wordcamp.org. It will feed on the JSON API[1] which will be pushed in WP 4 or using the API plugin could also be a possibility. The structure will follow the custom taxonomy of the wcpt plugin[2] by Ian Dunn.

We could use a UI element similar to facebook’s side swipe feature. We would intend to use MMDrawerController [3] which is a fairly mature library. This UI element will include:

1) Upcoming Events

2) News

3) About / Feeback

Feature Details:

1) Upcoming Events: It will list the all the WordCamp events in order of date.

An Idea: It might want to put the one nearest to the user (based on his location) on the top.

Tapping on any of them will open another screen similar to this:

The user will have an option “Pin” the event. If he/she pins a particular event, next time he/she opens the app, they will be directly taken to this screen. This is probably be very helpful to the possible attendees of the event.

An Idea: We can also implement the twitter hashtags. Tapping on it will bring about the twitter stream for that event.

Tapping on Sessions will Bring a list of sessions:

Tapping on the Sessions give the info about it:

2) News: It will display the newsfeed from the website.

3) About: About will show the details about the app, help pages and feedback form.

Implementation Details:

UITableView elements could be used to build out the screens. Fetching of the JSON resources can be done using AFNetworking[4] library. It does have a AFJSONRequestOperation class that will be helpful. All the requests will be done asynchronously, so as to not block the main thread. Pull to refresh UI could also implemented if time permits.

[1] https://github.com/WP-API/WP-API (2013 GSoC project)

[2] https://meta.trac.wordpress.org/browser/sites/trunk/wordcamp.org/public_html/wp-content/plugins/wcpt

[3] https://github.com/mutualmobile/MMDrawerController (MIT License, complatible with GPL if we go that way)

[4] https://github.com/AFNetworking/AFNetworking

What have you done so far with this idea:

I have talked to Ian Dunn about the resources about the API endpoints of the WordCamp website. I have built a few mockups for the UX design (though a bit crude as of now).

Plugin, theme, or core: This is being coded for the Wordcamp Client for iOS.

Anticipated challenges:

Pushing the JSON API in WP 4 might be punted, which might not sync up with the app development. Either ways, the plugin could be used.

Potential mentors:

Marko Heijnen, Eric Mann according to the GSoC page

Schedule of Deliverables

Milestones and deliverables schedule:

* March 21 – April 21 (Community Bonding Period) –  – Discuss with the mentor about the best way to go about the project, nailing the specifics. Class architecture, UI mockups etc.

* May 19 – May 31 – Setting up the project and implementing MMDrawerController. Basic app workflow.

* June 1 – June 15 – Setting up a dev version of WordCamp.org website with WP-API setup. The code for API calls and persistent storage model will be implement (most probably Core Data)

* June 16 – June 31 – The App UI and controllers are tied up the models. Completing a basic alpha of the app.

* July 1 – July 14 – Work out the screen sizes of iPad, iPhone etc, different orientations. Make sure everything looks great on all devices.

* July 15 – August 6 – Extensive testing and code clean up, bug fixes.

* August 7 – August 18 – Buffer period as suggested by Google.

Other commitments: No Commitment after my semester end exam. Will be able to give my full attention after May 24th. I will be able to put atleast 40 hours a week.

Open Source Development Experience

PHP Experience: 4 years

@pushmail – An SMS / text message application that pushes emails to user’s mobile phone. The user is instructed to setup a forwarder to our mail servers with a generated UID. This works by setting up a piped stdin in the email socket. It won an award from Intuit Inc. for being one of the best apps on their platform.

Usage Instructions: http://suhastech.com/mail

GCI 2010: I do remember contributing a bunch of code to LimeSurvey. Sadly, I couldn’t fetch the task list. This is one I found on google. http://www.google-melange.com/gci/task/view/google/gci2010/7070291

I have contributed to a few small libraries on github. https://github.com/suhastech

WordPress Experience: 4 years

SEO Blogger to WordPress – One of the more popular plugin. The plugin for people who are looking to migrate from Blogger to WordPress. It includes tools which redirects user using SEO techniques like 301 redirects and rel=canonical. It also has an image importer that’ll scan through the posts to download images and make persistent copy in the Media Library.

Other Plugins.

Apple Platforms Experience: 2 year

Horcrux (Commercial) -It works by requesting emails with IMAP protocol. This is then converted to .eml. This can be restored to back into the email accounts. It does this a bit quickly by caching IMAP headers and avoid many redundancies. It has gone through a rewrite back in November. It has been a great learning experience.

WordPress WXR Splitter for Mac (Open Source) – A wordpress WXR splitter for Mac written in Objective C with Cocoa framework.

Work Experience

Work Experience:

I have a fair experience in building app with Objective C. I mainly build OSX applications. As most of the Cocoa Touch APIs are derived from Cocoa, the transition shouldn’t be hard. I have built a few iOS application that have never seen the light of day. One being recreating the iTunes DJ feature for the iPhone / iPad.

I have been programming since I was 16. I think I could be categorised as a Polyglot.

I was freelancing PHP, wordpress projects.

http://gaglers.com/ – I wrote their first version of the WordPress plugin

http://www.newsecuritybeat.org/ – I wrote a internal tools (mass post manipulation plugin) and server setup help with Nginx and Varnish.

http://todayinclh.com/ – Currently in development.

Academic Experience

Academic Institution: PES Institute of Technology, Bangalore, Karnataka, India

Current Program: 3rd year, Bachelors of Engineering, Telecommunications Engineering .

Anticipated Graduation: 2015.

Academic Performance:

CGPA: 7.0

GSoC for Credit: No.

References:

Jill Kianka <[email protected]>

Why WordPress

You’re applying to work with WordPress during GSoC because: WordPress is the platform that introduced me to the world of programming which has improved my life in a great extent. I have a passion for this life changing framework.

After GSoC, you envision your involvement with WordPress will be: I have been and will continue to contribute and engage with the WordPress community. Hopefully, I intend to contribute to the core as my skills evolve.

© 2013 Suhas Tech. All rights reserved.
Proudly powered by Wordpress.