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

Project schedule

Community Bonding Period (before 23rd May)

Current Research

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

Location/University

Developer Information

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