On behalf of the Swift Website Workgroup, I'm thrilled to announce the Swift.org Redesign Project!
This project aims to modernize the website's appearance, enhance the experience for all visitors, and better support the evolving needs of our community. The redesign will reflect the forward-thinking spirit of the Swift language while providing a more engaging and intuitive experience on the site.
We believe the best way of achieving this is by including the Swift community in every step of the process. To get started, we invite you to read the project brief below and share your feedback in this thread.
This project runs in parallel with the The Swift Information Architecture Project which aims to design and implement a unified information architecture for content across the Swift project, including the content on Swift.org. This project is also inviting the Swift community to participate.
Introduction
The SWWG is embarking on a project to redesign the swift.org website. This initiative aims to modernize the websiteās appearance, enhance user experience, and better support the evolving needs of our community. The redesign will reflect the forward-thinking spirit of the Swift language while providing a more engaging and intuitive experience for visitors.
Project Objectives
Modernization of Look and Feel: Update the websiteās visual design to reflect modern patterns and best practices, incorporating more color, visual effects, and iconography.
Improved User Experience: Simplify navigation, declutter content, and enhance overall usability to ensure users can easily find the information they need.
Reusable Components: Develop a set of reusable design components to ensure consistency across the site and facilitate future updates.
PS: The new information architecture is a separate project that is running in parallel and whose completion isn't a pre-requesite for this project.
Project Scope
- Conducting a quick audit of the current website to identify strengths, weaknesses, and areas for improvement.
- Developing new visual design elements and a modernized layout.
- Creating a library of reusable design components for consistent and efficient future updates.
- Implementing the redesigned site and conducting thorough testing to ensure optimal performance and accessibility.
Redesign Goals and Objectives
Modernization of Look and Feel
- Decluttering: Remove unnecessary elements and reduce text verbosity.
- Enhanced Use of Color: Introduce a modern color palette to make the site visually richer.
- Visual Effects: Incorporate subtle animations and transitions for a more engaging user experience.
- Iconography & imagery: Utilize icons to improve visual communication and guide users through the site.
- Responsive Design: Ensure the site looks and functions well on all devices, from desktops to mobile phones.
Improved User Experience
- Simplified Navigation: Streamline the websiteās menu and navigation structure to make it easier for users to find the information they need quickly.
- Move some navigation menu link that donāt need to be omni-present throughout the site to the landing page (Tools or Packages for instance).
- Decluttered Interface: Remove redundant or outdated elements to create a more focused and intuitive user interface.
- Example: āLearn more" and āRead moreā buttons.
- Enhanced Readability: Optimize typography, spacing, and content layout to improve readability and reduce eye strain.
- Reduce the verbosity of text in the landing page.
- Interactive Elements: Integrate interactive components such as accordions, tabs, and modal dialogs to present information in a user-friendly manner.
- Case by case basis. Potential pages that could benefit from this include Install and Packages.
Creation of Reusable Components
- Consistent: Develop a library of standardized design components (e.g., buttons, forms, headers) to ensure a cohesive look and feel across the site.
- Use Sass to define a collection of single-use utility classes (see Tailwind).
- Use said classes to create reusable component partials.
- Modular: Implement a modular design approach that allows components to be reused and combined in various configurations for different pages and sections.
- Scalable: Ensure that components are flexible and scalable to accommodate future content and functionality expansions without major redesign efforts.
- Efficient Updates: Streamline the process for making site-wide updates by using reusable components, reducing the time and effort required for maintenance.
- Documented: Provide documentation for design components whenever possible.
- Cross-Platform Compatible: Design components to work seamlessly across different browsers and devices, ensuring a uniform experience for all visitors.
- Customizable: Allow for easy customization of components to meet specific needs or preferences.
- Performance-first: Optimize components for fast load times and efficient performance.
- Through use of vector resources, image variants, lazy loading, etc.
- Accessible: Design components to meet accessibility standards (e.g., WCAG 2.1) to ensure they are usable by individuals with disabilities, promoting inclusivity across the site.
Technical Requirements
We will continue using Jekyll and Sass for the swift.org website redesign. Our goal is to make the styling portable, ensuring that design elements can be easily reused or adapted when we migrate the site to Swift.
Project Timeline
Phase 1: Design and Prototyping
- Create wireframes and mockups for the new website design.
- Review and refine designs based on stakeholder feedback.
- Deliverable: static mocks of the redesign.
Phase 2: Development
- Develop reusable components and templates based on the latest version of the design.
- Conduct basic internal testing.
- Deliverable: a new mega-branch with the implemented layout and components.
- The branch in question is
new-layout
.
- The branch in question is
Phase 3: Content Migration
- Plan and execute the migration of any content that we agreed to migrate.
- Update and optimize content as necessary to fit the new design and architecture.
- Perform thorough testing to ensure all content is accurately transferred.
- Deliverable: PRs onto the same branch/repository used for the design.
Phase 4: Testing and Optimization
- Optimize site performance, accessibility, and cross-browser compatibility.
- Implement final revisions based on testing results.
Phase 5: Preparation + Launch
- Finalize PRs.
- Obtain necessary approvals from all stakeholders before merge.
- Consider deploying the new design in a new staging/preview URL (
preview.swift.org
) - Deliverable: New design merged.
Phase 6: Post-Launch
- Monitor site performance, user feedback, SEO.
- Address any post-launch issues promptly.
- Plan for ongoing maintenance and future enhancements.
Roles and Responsibilities
Project Team
- Alexander Sandberg @alexandersandberg (Dev, Content, Community outreach)
- Federico Bucchi @federicobucchi (Dev, Content)
- Mishal Shah @mishal_shah (Core team rep)
- Reda Lemeden @kaishin (DRI, Design, Dev)
Stakeholders
- SWWG
- The Swift Core Team
- Apple
- The Swift community
Community Participation
Participation in the Swift.org redesign project is open to all members of the Swift community.
There are a variety of ways to get involved:
- Following the project progress on GitHub and providing feedback on the linked issues.
- Turning on the āWatching First Postā notification of the Swift Website category in the Swift forums.
- Getting assigned to issues and opening PRs against the
new-layout
branch. Check with the project team on the forums, GitHub issues, or Slack for more details.