**THIS IS STILL A DRAFT!**
**Name:** Frédéric Bolduc
**IRC or IM networks/handle(s):** ferdbold on freenode
**Web Page / Blog / Microblog / Portfolio:** Personal portfolio being developed, you can look at some of my work in the meantime on https://linkedin.com/in/bolducfrederic (French alert!) and https://www.github.com/ferdbold
**Resume (optional):** http://bit.ly/1IkmK2K (French right now, English one coming soon™)
**Typical working hours:** 9 to 17, GMT-5
This project aims to develop an extension for VE which will allow usera to edit Vega-ready JSON strings from a tailored UI, without having to open up the page source, thus reducing user-error risk.
Possible mentors: @mooeypoo and @mvolz
Right now, Vega JSON strings are considered by VE as a alien extension. Therefore, this project will be divided in 3 steps, which need to be completed sequentially, but are all viable on their own (so the project could be shipped as-is at the end of any step):
1. Design and implement GraphData's UI for graph data editing
2. Develop a Vega JSON parser to allow GraphData to read and edit the page JSON
3. *(as a bonus, if time allows)* Enable real-time Vega previews in VE during edit
### Proposed timetable
| **KEY DATE** | **DELIVERABLE**
| **March 27** | **Application deadline**
| **April 27** | **Student applications approved**
| **Until May 25** | **Community bonding, research on MV extension development, basic prototyping (as much as finals allow!)**
| May 25 - 31 | GraphData UI design, define JSON parser architecture
| June 1st - 7 | Integrate basic UI framework for debug purposes
| June 8 - 14 | Implement GraphData's JSON parser reading ability *(bar charts only)*
| June 15 - 25 | Implement GraphData's JSON parser editing ability *(bar charts only)*
| **June 26 - July 3** | **Midterm evaluation**
| July 3 - 9 | Implement GraphData final UI (see below for module list)
| July 10 - August 2 | Extend JSON parser functionality to other chart types
| August 3 | Feature freeze
| August 4 - 16 | Bug-fixing, documentation polish
| **August 17** | **Pencils down**
| **August 18 - 22** | **Final evaluations**
I've been actively using Git (and other VCSes) for a few years now, so I've got the basic code review workflow and collaboration aspect pretty well established.
While I'll be working on this project, I'll submit my code for review daily to Gerrit. I like to keep things backed up, and doing this daily ensures that other developers will be able to keep track of my work much better.
Also, these are the additionnal means I plan to use to communicate progress:
- IRC: I'll stay online on **freenode** in #mediawiki-visualeditor as ferdbold during my working hours
- I'll setup up a personal blog on **ferdbold.com**, on which I will post a weekly summary of my work.
## About you
I'm a video game developement second year undergraduate at Université du Québec à Chicoutimi.
In 2013, I graduated in Multimedia Integration (which is pretty much fancy-talk for front-end web development) at Cégep de Sainte-Foy.
I actually don't remember how I first heard about Google Summer of Code, I just know it was a while ago when I didn't know how to code and it looked like a great experience. Last year though, I went to a local dev meetup where it was mentioned, but it was already past the student application deadline. So here I am this year ;)
What initially sparked my interest for this particular project was that I've previously developed a node-based graph editor with MooTools and KineticJS on one of my personal WordPress projects. This editor is used as a skill tree that players of a role-playing game can use to customize their characters (inspired by Path of Exile's own [passive skill tree](http://www.pathofexile.com/passive-skill-tree)). I've really enjoyed doing this and working with graphs in general, so this task looked like it'd be right up my sleeve!
(This node-based editor is available at http://www.gnterraarcana.com. Sadly, it's kind of hard to find right now, since you have to actually make an account on the website and then make a new character and access their Skills ("Compétences" in French) page.)
## Past experience
Since my Cégep graduation in 2013, I have been working on web design and development with multiple agencies, as well as by myself. I've mainly dabbled in WordPress development, as well as a lot of responsive web design, as I've often been tasked to take the lead in front-end integration. While I haven't worked on any open source projects yet, I'm confident that my prior work experience will serve me well.
I'm also a big fan of game jams. I've done almost ten of them now, including Global Game Jam, and always have a blast doing so. Most of my games' source code are available on my GitHub account (since these projects are small, I don't really count them as open source experience).
I've also participated in various competitions and hackathons, such as Hack Québec, Ubisoft's Academia and the CS Games. These kinds of events helped round out my skills, as I've picked up useful knowledge on domains like VCSes, teamwork (especially with strangers!) and code rigor.
## Grab bag
As a video game developer, I've got a great love for them, and as such am a great believer in gamification. As I design user interfaces, I try to challenge usual tropes and come up with clever and intuitive ways to convey messages to users.