Differences between revisions 2 and 18 (spanning 16 versions)
Revision 2 as of 2016-03-21 15:45:29
Size: 3544
Editor: AaronDelaney
Comment:
Revision 18 as of 2016-05-03 13:42:55
Size: 8193
Editor: AaronDelaney
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
 * '''Name''': Aaron Delaney
 * '''Contact''':
  * '''Email''': aaron.delaney29@mail.dcu.ie
  * '''IRC Nick''': devoxel
  * '''GitHub''': [[devoxel|https://github.com/devoxel/]]
  * '''Webpage''': http://devoxel.net
 * '''Background''':
  I'm a dedicated self-taught programmer now studying Computational Problem Solving and Software Development in Dublin City University.
  
  I've quite a bit of web experience behind me, my Github lists a good bit of it. To summarize: lots of python experience, lots of web experience. Also one thing that's easy to miss on my github is the wand web-app spellchecker, which is in the 'cpssd/optionals/spellcheck' directory.

  Unlisted is a web-based RSS Reader, that uses Materalize.css with a node.js webserver and a bunch of backend tools mostly written in Python, that I'm currently working on as a Semester 2 project with a talanted group at DCU.

 * '''Project title''': Make Debsources Mobile-friendly
 * '''Project details''':
 Debsources is an important resource in the Debian ecosystem. It provides an entry point to all the debian source code with useful features and API. Unfortunatly it doesn't have support mobiles in any sense. This project will fix this issue.
 * '''Synopsis''':
 First thing I'll implement is a mobile-compliant redesign of Debsources. I'll try to keep this light, I don't to have to import big libraries or anything. Then I'll implement a Single Page Application version of Debsources
 * '''Benefits to Debian'''
  Debsources is a very useful resource to all Debian developers and this project makes it more accessable than ever.
 * '''Deliverables''':
  * A redesigned Debsources webpage that renders well on mobile, with tests integrated into the Debsources test suite and good documentation
  * Research and figure out (with help from the mentors) whether to take Debsources to a native webapp or to implement a single page application
  * If a native phone application is decided on, implement a native applciation with features decided by midterm. Would feature a patch editor taking advantage of mobile APIs.
  * If a hybrid-SPA is decided on, implement a single page web application version of Debsources using client side rendering techniques like those seen in Angular.js or React
  * Regardless of which aspect of the project is decided on, the code should be well tested and maintainable.
 * '''Project schedule''':
  * '''Before 23rd May''': Have a good idea of where to take the project in regards to the SPA or native application.
  * '''Between 23rd May -> 14th June''': Implement the mobile compliant version of the site, including tests and documentation
  * '''Before Mid Term Evaluation''': Have a clear goal for either the application or single page application.
  * '''27th June-> 8th August''': Implement the native application or single page application.
 * '''Exams and other commitments''': Nope, but I'll let you know early if anything comes up.
 * '''Other summer plans''': Apart from chill out with my friends in my spare time, got nothing!
 * '''Why Debian?''': I love open source and Debian has been a core part of my computing for years. It also seemed like a friendly community based on the wiki.
 * '''My previous Debian contributions''': As required by this applciation I submitted a patch to #783461 to the qa-debsources mailing list. Apart from that I've not contributed to Debian.
 * '''Are you applying for other projects in SoC''': Doesn't look like it at this point no :)
'''Improving Accessibility and front-end of Debsources'''

Table of contents:
<<TableOfContents()>>

= Project Details =

== Summary ==

Debsources is an important resource in the Debian ecosystem. It provides an entry point to all the Debian source code with useful features and API.

Unfortunately it doesn't have support mobile in any sense.
This project will fix these issues and add useful features such as patch editing.

== Synopsis ==

Debsources first needs to made mobile compliant by using a response library like Bootstrap. Specifics will be decided on with help from the mentor. <<BR>>

The next step is then to rework how the client does rendering using a client side rendering engine - such as Angular or React.<<BR>>

The final part of the project is improving this page by adding features such as faster load times, a mobile patch, or extra navigational tools. <<BR>>

This is to be done by either porting the application to a native mobile application in a maintainable way (for example by using phonegaps) or by using HTML5 features.<<BR>>

The core issues behind the HTML5 version is things like file system access and offline caching are awkward -- but doable.

Native application frameworks lighten this burden however by providing access to direct integration to mobile features. However making this port maintainable brings it's own issues.
 
== Benefits to Debian ==
Debsources is a very useful resource to all Debian developers and this project makes it more accessible than ever: by improving Debsources usability from phones.

== Deliverables ==

 * A redesigned Debsources webpage that renders well on mobile, with tests integrated into the Debsources test suite and good documentation.
 * Research and figure out (with help from the mentors) whether to take Debsources to a native webapp or to figure out how to implement the features inside the mobile browser.
 * Implement a native application, or in an SPA, that improves Debsources accessibility. <<BR>>
  This should include documentation and a test suite.<<BR>>
  Desirable features (one mandatory, rest optional) for either the native app or SPA:
 * Faster load times
 * A mobile patch editor
 * Offline support
 * Extra navigational tools for mobiles

== Project schedule ==

=== Community Bonding Period (before 23rd May) ===

 * Have a good idea of where to take the project in regards the native application or hybrid single page application.
 * Refactor application and add new information. This includes breaking the schedule into 1 week chunks.
 * Interact with the community
 * Look at and understand debsources architecture

==== Current Research ====

 * Research relating to these features done in community bonding will go here.

=== 23rd May -> 29th May ===

Start prototyping the mobile compliant version of the site to include a responsive layout.

This will involve modifying the view templates. Templates will be approached from most fundamental to most complex.

By the end of this week, I be clearly moving forward and have made progress tempting most of the core areas of the site.

This does not include the client side rendering aspect of the project.

=== 30th May -> 5th June ===

Finish the rest of the responsive layout.

Polish-up this responsive site including improving and fixing tests and documentation.

Research the next aspect of the project: the client side rendering.

=== 6th June -> 12th June ===

Work on learning the client-side rendering framework while integrating with the API.

Figure out how testing will work.

Prototype and get early feedback on this new front-end.

=== 13th June -> 19th June ===

Take feedback from mentors, continue work on client side rendering.

Work on and evaluate tests of this platform.

=== 20th June -> 27th June ===

Midterm evaluations.

=== 28th June -> 3rd July ===

If working on the native application: start working on that integration and mobile specific features..

If not, add framework for the mobile HTML5 features.

=== 4th July -> 10th July ===

Get feedback from mentors and keep working on these features.

=== 11th July -> 17th July ===

Evaluate features and being integration into Debsources.

Evaluate, with help from mentors, test coverage. Make a plan to fix issues where possible.

=== 18th July -> 24th July ===

Work on adding tests.

Continue work on HTML5/native features.

=== 25th July -> 31st July ===

Evaluate more, keep up testing and integration efforts.

H%ML5/native features should be mostly finished and should have reasonable tests in place
at this point.

=== 1st August -> 7th August ===

Ensure integration is complete and the site works well in all aspects.

Evaluate test coverage again and see where it can be improved.

=== 8th August -> 15th August ===

Continue working on tests and documentation.


= Personal Details =

Name: Aaron Delaney

== Background ==

I'm a dedicated self-taught programmer now studying Computational Problem Solving and Software Development in Dublin City University.

I've quite a bit of web experience behind me, my Github has code samples of most of it.
To summarize: lots of python, js, some coffee-script.
Also one thing that's easy to miss on my github is the wand web-app spell-checker, which is in the 'cpssd/optionals/spellcheck' directory.

Unlisted is a web-based RSS Reader, that I'm currently working on as a Semester 2 project with a talented group at DCU. Source code will be available soon!

== Contact ==

'''Email''': <<MailTo(aaron.delaney29 AT mail.dcu DOT ie)>>

=== Social ===
 
 * '''Twitter''': https://twitter.com/devoxel
 * '''Github''': https://github.com/devoxel/
 * '''Blog''': http://devoxel.net

=== IRC ===

 * '''Nick''': devoxel
 * '''Channels''': #debian, #debian-debsources, #debian-soc, #debconf
 * '''Project Mailing List''': [[https://lists.alioth.debian.org/mailman/listinfo/qa-debsources|qa-debsources]]


== Location/University ==

 * '''Timezone''': UTC+0
 * '''Country''': Ireland
 * '''Studying:''': [[https://www101.dcu.ie/prospective/deginfo.php?classname=PSSD | Computational Problem Solving and Software Development in DCU]]
 * '''University''': https://en.wikipedia.org/wiki/Dublin_City_University
 * '''Where I'm staying''':
    Nenagh, Ireland [[http://www.openstreetmap.org/node/52260539 | Open Street Map]] [[https://en.wikipedia.org/wiki/Nenagh | Wikipedia]]
  * '''Local Free Software''': None, that I'm aware of :(
 * '''Planned Events''':
  * Debconf, hopefully!
  * [[https://fosdem.org/|FOSDEM 2017]]

== Developer Information ==

 * '''Hardware''' Gaming Desktop, Tiny Asus eee Laptop
 * '''Operating Systems''':
  * Desktop is Windows/Debian dual boot, use Debian for development
  * Laptop is Arch Linux atm, may change over to Debian soon.
  * Use VirtualBox for virtualization
  * Using three 1080p monitors for desktop development
 * Android Samsung A5 (relevant to project)
 * '''Editor''': vim
 * '''Internet''':
  * Campus wifi when in college (until 22nd May)
  * No IPv6 support, unblocked.
  * Details of other wifi will be provided after move.
 * '''Project Build Tools'''
  * [[https://anonscm.debian.org/cgit/qa/debsources.git|Git]]

== Exams and other commitments ==

All exams end before Community Bonding ends.

== Why Debian? ==

I love open source and Debian has been a core part of my computing for years. It also seemed like a friendly community! Go Debian!

== My previous Debian contributions ==

As required by this application I submitted a patch to #783461 to the qa-debsources mailing list. Apart from that I've not contributed to Debian.

== Risks ==

 * '''Computer Failure''':
  * I leave no work on my computer, if I stop coding for a period I will usually commit an XXX commit that will be squashed later
  * If something happens to my desktop I can code on my laptop, or use a family members
  * Continuation will be quick, and mentors will be notified.
 * '''Internet Failure''':
  * Can tether
  * Electricity failure unlikely

Improving Accessibility and front-end of Debsources

Table of contents:

Project Details

Summary

Debsources is an important resource in the Debian ecosystem. It provides an entry point to all the Debian source code with useful features and API.

Unfortunately it doesn't have support mobile in any sense. This project will fix these issues and add useful features such as patch editing.

Synopsis

Debsources first needs to made mobile compliant by using a response library like Bootstrap. Specifics will be decided on with help from the mentor.

The next step is then to rework how the client does rendering using a client side rendering engine - such as Angular or React.

The final part of the project is improving this page by adding features such as faster load times, a mobile patch, or extra navigational tools.

This is to be done by either porting the application to a native mobile application in a maintainable way (for example by using phonegaps) or by using HTML5 features.

The core issues behind the HTML5 version is things like file system access and offline caching are awkward -- but doable.

Native application frameworks lighten this burden however by providing access to direct integration to mobile features. However making this port maintainable brings it's own issues.

Benefits to Debian

Debsources is a very useful resource to all Debian developers and this project makes it more accessible than ever: by improving Debsources usability from phones.

Deliverables

  • A redesigned Debsources webpage that renders well on mobile, with tests integrated into the Debsources test suite and good documentation.
  • Research and figure out (with help from the mentors) whether to take Debsources to a native webapp or to figure out how to implement the features inside the mobile browser.
  • Implement a native application, or in an SPA, that improves Debsources accessibility.

    • This should include documentation and a test suite.
      Desirable features (one mandatory, rest optional) for either the native app or SPA:

  • Faster load times
  • A mobile patch editor
  • Offline support
  • Extra navigational tools for mobiles

Project schedule

Community Bonding Period (before 23rd May)

  • Have a good idea of where to take the project in regards the native application or hybrid single page application.
  • Refactor application and add new information. This includes breaking the schedule into 1 week chunks.
  • Interact with the community
  • Look at and understand debsources architecture

Current Research

  • Research relating to these features done in community bonding will go here.

23rd May -> 29th May

Start prototyping the mobile compliant version of the site to include a responsive layout.

This will involve modifying the view templates. Templates will be approached from most fundamental to most complex.

By the end of this week, I be clearly moving forward and have made progress tempting most of the core areas of the site.

This does not include the client side rendering aspect of the project.

30th May -> 5th June

Finish the rest of the responsive layout.

Polish-up this responsive site including improving and fixing tests and documentation.

Research the next aspect of the project: the client side rendering.

6th June -> 12th June

Work on learning the client-side rendering framework while integrating with the API.

Figure out how testing will work.

Prototype and get early feedback on this new front-end.

13th June -> 19th June

Take feedback from mentors, continue work on client side rendering.

Work on and evaluate tests of this platform.

20th June -> 27th June

Midterm evaluations.

28th June -> 3rd July

If working on the native application: start working on that integration and mobile specific features..

If not, add framework for the mobile HTML5 features.

4th July -> 10th July

Get feedback from mentors and keep working on these features.

11th July -> 17th July

Evaluate features and being integration into Debsources.

Evaluate, with help from mentors, test coverage. Make a plan to fix issues where possible.

18th July -> 24th July

Work on adding tests.

Continue work on HTML5/native features.

25th July -> 31st July

Evaluate more, keep up testing and integration efforts.

H%ML5/native features should be mostly finished and should have reasonable tests in place at this point.

1st August -> 7th August

Ensure integration is complete and the site works well in all aspects.

Evaluate test coverage again and see where it can be improved.

8th August -> 15th August

Continue working on tests and documentation.

Personal Details

Name: Aaron Delaney

Background

I'm a dedicated self-taught programmer now studying Computational Problem Solving and Software Development in Dublin City University.

I've quite a bit of web experience behind me, my Github has code samples of most of it. To summarize: lots of python, js, some coffee-script. Also one thing that's easy to miss on my github is the wand web-app spell-checker, which is in the 'cpssd/optionals/spellcheck' directory.

Unlisted is a web-based RSS Reader, that I'm currently working on as a Semester 2 project with a talented group at DCU. Source code will be available soon!

Contact

Email: <aaron.delaney29 AT mail.dcu DOT ie>

Social

IRC

  • Nick: devoxel

  • Channels: #debian, #debian-debsources, #debian-soc, #debconf

  • Project Mailing List: qa-debsources

Location/University

Developer Information

  • Hardware Gaming Desktop, Tiny Asus eee Laptop

  • Operating Systems:

    • Desktop is Windows/Debian dual boot, use Debian for development
    • Laptop is Arch Linux atm, may change over to Debian soon.
    • Use VirtualBox for virtualization

    • Using three 1080p monitors for desktop development
  • Android Samsung A5 (relevant to project)
  • Editor: vim

  • Internet:

    • Campus wifi when in college (until 22nd May)
    • No IPv6 support, unblocked.
    • Details of other wifi will be provided after move.
  • Project Build Tools

Exams and other commitments

All exams end before Community Bonding ends.

Why Debian?

I love open source and Debian has been a core part of my computing for years. It also seemed like a friendly community! Go Debian!

My previous Debian contributions

As required by this application I submitted a patch to #783461 to the qa-debsources mailing list. Apart from that I've not contributed to Debian.

Risks

  • Computer Failure:

    • I leave no work on my computer, if I stop coding for a period I will usually commit an XXX commit that will be squashed later
    • If something happens to my desktop I can code on my laptop, or use a family members
    • Continuation will be quick, and mentors will be notified.
  • Internet Failure:

    • Can tether
    • Electricity failure unlikely