Differences between revisions 15 and 18 (spanning 3 versions)
Revision 15 as of 2016-05-03 13:33:13
Size: 8080
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 55: Line 55:
==== Current Research ====

 * Research relating to these features done in community bonding will go here.
Line 87: Line 91:
=== 20th June - 27th June === === 20th June -> 27th June ===

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