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
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.
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.
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.
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 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.