[GSoC 2013] Improvements to Network Status Website

Discuss general development subjects that are not specific to a particular version like the versioning control system we use or other infrastructure.
Post Reply
User avatar
dag10
Registered User
Posts: 4
Joined: Fri Apr 26, 2013 9:25 pm

[GSoC 2013] Improvements to Network Status Website

Post by dag10 »

Overview

Hello, I'm Drew Gottlieb - a Rochester Institute of Technology student studying Computer Science, and I would like feedback on my proposal for a Google Summer of Code project regarding an overhaul of status.phpbb.com.

Currently, it only displays the bare minimum for a status site: The up/down status of the numerous phpBB sites and services. There are many opportunities for the site to become much more useful. I would like to implement thorough logging and analysis of service outages, integrate Pingdom's API to a much fuller extent, provide optional email notifications for various service events such as outages and planned downtime for users, and improve the administration controls for the website.

More specifically, here's what I plan to accomplish:
  • Integrate phpbb.com forum's accounts for auth so that admins can simply be logged in on *.phpbb.com and already be authed for the site's admin interface
  • Create notification preferences so that users can be notified of outages, downtime, and posted updates
  • Improve and clarify administration interface
  • Retain website design's responsiveness, and have it adjust to a stacked page format on narrow screens such as on mobile devices
  • Thoroughly log information from Pingdom, taking fuller advantage of its API
  • Use the logs to create useful statistics with graphs for all services
Here are some rough mockups made in Balsamiq. Click for full size.

Main Page:
  • Websites displayed on the left, latest updates on the right.
  • Each website shows colored dots representing its long-term uptime chronologically. When the user hovers over a dot, a tooltip will show what point in time it represents, and clicking it shows statistics for that time.
  • Each website has its icon displayed to the left. The globe is just a placeholder in these mockups.
  • If a user "logs in" they log in with their phpbb.com discussion forum account, since I will integrate its auth with Symfony either by hand or using an existing bundle. This will not only allow for the site's administration, but it will allow for all users to change notification preferences for their account's email address.
  • "Contact Us" will call a modal contact prompt.
Image

Notification Preferences (logged in)
  • With the responsive layout I will be creating, on desktop/tablet browser sizes, the notification preferences will be on the right side as pictured below. On mobile devices, the notification preferences will be a separate screen added to the stack, with a "back" button in the top-left.
  • The "Edit Account" button takes the user to phpbb.com's user control panel.
Image

Mobile Layout (responsive)
  • Having quick access to uptime information while mobile is crucial, especially for phpbb administrators.
  • Less information is shown so that the most important information can be seen at a glance. The mobile site design will still have just as much information as the full site, but it'll be more strategically placed.
Image

Development Plan

Although I think all of the improvements greatly enhance the site, some are more important than others. The most crucial components of my redesign proposal are the email notifications, logging, analysis, and responsive design. Should development take longer than expected, some components can be omitted such as the phpbb.com auth integration and improvements to the site's administration interface.

This is roughly the development timeline:
  • May 27 - June 17: Set up a workflow, get up to speed on Symfony, research, experiment, and discuss.
    Start.
    Week 1: Reduce DOM, styles, and js of existing site to bare minimums to build up from that.
    Week 2: My family is moving from Pennsylvania to Florida in that week, so I won't be quite as productive as a normal week, but I will continue to simplify the site and begin integrating more of Pingdom's API.
    Week 3: Create models and controllers for logging and analyzing data, and create email notification backend.
    Week 4: Build up the new design (while keeping it responsive), modalize the contact form.
    Week 5: Integrate phpbb.com auth, create front-end notification preferences, and continue maintining the site's responsiveness.
    Week 6: Create uptime statistics views including overall stats, per-time-period stats (e.g. uptime statistics for November 2013).
    Mid-term evaluations.
    Week 7: Improve and clarify administration interface, work on fine design and usability details of the site.
    Week 8: Test, test, test! Debug if needed, and provide documentation.
    Week 9+: This is move-in time for my university, and I'm not sure how well I'll be able to work after this point. I am confident that I will be able to deliver everything I am planning before this point, since for long-term projects I notice that I always end up working faster than I expected. From this point on, although I will be finished the bulk of the development, I will continue to test, tidy up, and perfect the code and design of the site, and I will still maintain active communication with the mentors and community.
I use git, and I commit early and often. I will push all changes to a public GitHub fork of phpBBStatusSite, and will also regularly pull and merge changes from phpbb's phpBBStatusSite.
I will work 35-40 hours a week.

So, who am I?

I am a freshman starting at Rochester Institute of Technology for Computer Science. I have several years of web development experience, most of it being PHP+MySQL based. I've created websites with embedded phpBB3 forums, I've created websites based on phpBB3, and I've also created websites using MVC technologies such as Yii, Django, and Backbone (both on the front-end, and in the back-end in node.js).

Last year I spent five months developing a forum-based social network based on phpBB3. Although I never finished/shipped it, you can view it at a somewhat-completed state here: http://qwerdly.minipenguin.com with the username a-test-user and password a-test-password. Pardon the silly content; I haven't really shown that website to anyone else before. Some points of interest: asynchronous ratings for forum posts (e.g. happy, agree, sad, etc), real-time notification system and chat system with a node.js backend, member search (with intentionally duplicated entries to demonstrate/test pagination). As a result of the project, I know phpBB's inner workings. Although my project does not involve phpBB directly, I certainly gained a lot of overall web development experience with that website.

Another project I'm currently working on is a website for managing/running an online journalism competition for the Pennsylvania School Press Association. Although I can't provide a live demo of it, hopefully screenshots will prove helpful. You may view an album here. I am building it with Yii, a PHP MVC framework with many similarities to Symfony. This website is providing me with a ton of additional experience with building complex relational database models and controllers. Don't worry, the website is to be deployed on June 1st, so it will not overlap with the GSoC work period or community bonding period.

I believe I am the right person to implement a new network status site because I always go above and beyond what is asked for. It is for this reason I am a Google Code-In 2012 Grand Prize Winner.
For many of the GCI tasks, I took the time to perfect things I didn't need to perfect, UI-wise. My changes overall improved the entire user interface of Hedgewars, which I have showcased on their blog here.

Also, you can view my website and some of my work here: http://minipenguin.com.

Some more personal details

My username for GitHub, phpBB, IRC, and nearly everywhere else is dag10.
My timezone is UTC-4 (EST). I am comfortable working with a mentor and developers from any timezone; I had to do just that when participating in the 2012 Google Code-In.
My native (and only) language is English.
I currently live in Valley Forge, Pennsylvania, but after June 25th I will live in Tampa, Florida. On August 20th I move to Rochester, New York for RIT.

Thank you, and I hope to work with you guys this summer.

asperous
Google Summer of Code Student
Posts: 21
Joined: Mon Apr 22, 2013 3:26 pm
Location: Tigard, Or
Contact:

Re: [GSoC 2013] Improvements to Network Status Website

Post by asperous »

This is one of the better proposals that I have read on this site, it was pretty well written and clearly shows that you have put some thought into it.

Good luck!

User avatar
dag10
Registered User
Posts: 4
Joined: Fri Apr 26, 2013 9:25 pm

Re: [GSoC 2013] Improvements to Network Status Website

Post by dag10 »

Thanks you, and good luck to you too!

Paul
Infrastructure Team Leader
Infrastructure Team Leader
Posts: 373
Joined: Thu Sep 16, 2004 9:02 am
Contact:

Re: [GSoC 2013] Improvements to Network Status Website

Post by Paul »

Just as a note, I think we would like to keep the current style as it has, and incorporated changes into that style. The style has been specific designed for the current status site.

User avatar
dag10
Registered User
Posts: 4
Joined: Fri Apr 26, 2013 9:25 pm

Re: [GSoC 2013] Improvements to Network Status Website

Post by dag10 »

Oh okay, the current design can be kept, and I'll simply add the proposed features onto it while retaining the design style.

User avatar
dag10
Registered User
Posts: 4
Joined: Fri Apr 26, 2013 9:25 pm

Re: [GSoC 2013] Improvements to Network Status Website (REVISED)

Post by dag10 »

Revised proposal:

Overview

Hello, I'm Drew Gottlieb - a Rochester Institute of Technology student studying Computer Science, and I would like feedback on my proposal for a Google Summer of Code project regarding an overhaul of status.phpbb.com.

Currently, it only displays the bare minimum for a status site: The up/down status of the numerous phpBB sites and services. There are many opportunities for the site to become much more useful. I would like to implement thorough logging and analysis of service outages, integrate Pingdom's API to a much fuller extent, provide optional email notifications for various service events such as outages and planned downtime for users, and improve the administration controls for the website.

More specifically, here's what I plan to accomplish:
  • Integrate phpbb.com forum's accounts for auth so that admins can simply be logged in on *.phpbb.com and already be authed for the site's admin interface
  • Create notification preferences so that users can be notified of outages, downtime, and posted updates
  • Improve and clarify administration interface
  • Thoroughly log information from Pingdom, taking fuller advantage of its API
  • Use the logs to create useful statistics with graphs for all services
Development Plan

Although I think all of the improvements greatly enhance the site, some are more important than others. The most crucial components of my enhancement proposal are the email notifications, logging, and analysis. Should development take longer than expected, some components can be omitted such as the phpbb.com auth integration and improvements to the site's administration interface.

This is roughly the development timeline:
  • May 27 - June 17: Set up a workflow, get up to speed on Symfony, research, experiment, and discuss.
    Start.
    Week 1: Begin exploring, experimenting with, and integrating more of Pingdom's API
    Week 2: My family is moving from Pennsylvania to Florida in that week, so I won't be quite as productive as a normal week, but I will continue to implement the API and simultaneously create models and controllers for logging and analyzing data.
    Week 3: Create the email notification back-end.
    Week 4: Integrate phpbb.com auth, and integrate its auth for admin role in Symfony
    Week 5: Create front-end notification preferences, designed responsively for both desktop and mobile
    Week 6: Create uptime statistics views including overall stats, per-time-period stats (e.g. uptime statistics for November 2013).
    Mid-term evaluations.
    Week 7: Improve and clarify administration interface, refine/evaluate usability of new features
    Week 8: Test, test, test! Debug if needed, and provide documentation.
    Week 9+: This is move-in time for my university, and I'm not sure how well I'll be able to work after this point. I am confident that I will be able to deliver everything I am planning before this point, since for long-term projects I notice that I always end up working faster than I expected. From this point on, although I will be finished the bulk of the development, I will continue to test, tidy up, and perfect the code, and I will still maintain active communication with the mentors and community.
I use git, and I commit early and often. I will push all changes to a public GitHub fork of phpBBStatusSite, and will also regularly pull and merge changes from phpbb's phpBBStatusSite.
I will work 35-40 hours a week.

So, who am I?

I am a freshman starting at Rochester Institute of Technology for Computer Science. I have several years of web development experience, most of it being PHP+MySQL based. I've created websites with embedded phpBB3 forums, I've created websites based on phpBB3, and I've also created websites using MVC technologies such as Yii, Django, and Backbone (both on the front-end, and in the back-end in node.js).

Last year I spent five months developing a forum-based social network based on phpBB3. Although I never finished/shipped it, you can view it at a somewhat-completed state here: http://qwerdly.minipenguin.com with the username a-test-user and password a-test-password. Pardon the silly content; I haven't really shown that website to anyone else before. Some points of interest: asynchronous ratings for forum posts (e.g. happy, agree, sad, etc), real-time notification system and chat system with a node.js backend, member search (with intentionally duplicated entries to demonstrate/test pagination). As a result of the project, I know phpBB's inner workings. Although my project does not involve phpBB directly, I certainly gained a lot of overall web development experience with that website.

Another project I'm currently working on is a website for managing/running an online journalism competition for the Pennsylvania School Press Association. Although I can't provide a live demo of it, hopefully screenshots will prove helpful. You may view an album here. I am building it with Yii, a PHP MVC framework with many similarities to Symfony. This website is providing me with a ton of additional experience with building complex relational database models and controllers. Don't worry, the website is to be deployed on June 1st, so it will not overlap with the GSoC work period or community bonding period.

I believe I am the right person to implement a new network status site because I always go above and beyond what is asked for. It is for this reason I am a Google Code-In 2012 Grand Prize Winner.
For many of the GCI tasks, I took the time to perfect things I didn't need to perfect, UI-wise. My changes overall improved the entire user interface of Hedgewars, which I have showcased on their blog here.

Also, you can view my website and some of my work here: http://minipenguin.com.

Some more personal details

My username for GitHub, phpBB, IRC, and nearly everywhere else is dag10.
My timezone is UTC-4 (EST). I am comfortable working with a mentor and developers from any timezone; I had to do just that when participating in the 2012 Google Code-In.
My native (and only) language is English.
I currently live in Valley Forge, Pennsylvania, but after June 25th I will live in Tampa, Florida. On August 20th I move to Rochester, New York for RIT.

Thank you, and I hope to work with you guys this summer.

Post Reply