Improving Accessibility and front-end of Debsources
Table of contents:
Contents
-
Project Details
- Summary
- Synopsis
- Benefits to Debian
- Deliverables
-
Project schedule
- Community Bonding Period (before 23rd May)
- 23rd May -> 29th May
- 30th May -> 5th June
- 6th June -> 12th June
- 13th June -> 19th June
- 20th June -> 27th June
- 28th June -> 3rd July
- 4th July -> 10th July
- 11th July -> 17th July
- 18th July -> 24th July
- 25th July -> 31st July
- 1st August -> 7th August
- 8th August -> 15th August
- Personal Details
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
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: qa-debsources
Location/University
Timezone: UTC+0
Country: Ireland
Studying:: Computational Problem Solving and Software Development in DCU
University: https://en.wikipedia.org/wiki/Dublin_City_University
Where I'm staying:
Nenagh, Ireland Open Street Map Wikipedia
Local Free Software: None, that I'm aware of
Planned Events:
- Debconf, hopefully!
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