Web Hob design project with T&T: Difference between revisions

From Yocto Project
Jump to navigationJump to search
mNo edit summary
 
(126 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This page contains information on the '''Web Hob''' project to develop a web-based UI for the Yocto project.
[[Category:Toaster]]


'''Mailing List:''' [https://lists.yoctoproject.org/listinfo/webhob https://lists.yoctoproject.org/listinfo/webhob]
The project formely known as Web Hob / WebHob / Webhob / webhob is now [[Toaster]].
 
This page contains information on the '''[[WebHob|Web Hob]]''' design project we ran with the London-based agency [http://www.tobiasandtobias.com/ Tobias & Tobias] between January and March 2013.
 
General discussion about '''Web Hob''' happens on a dedicated mailing list: [https://lists.yoctoproject.org/listinfo/webhob https://lists.yoctoproject.org/listinfo/webhob]


<br>
<br>


== Design ==
== Introduction ==
 
Web Hob is a web-based interface to the Yocto Project. The agency Tobias & Tobias were hired to start the interface design process, following a previous strategy engagement that established priorities and a high level plan for the Web Hob project.
 
The design work happened between January and March 2013 and was structured like this:
 
* 3 design iterations
* 2 rounds of user feedback
 
[[#Final deliverables|The final deliverables]] would be a set of static wireframes, a web-based prototype and a visual design framework.
 
== Scope ==
 
The strategy engagement identified 8 stages for the Web Hob project. The 3-month design work would cover the first 3 stages.
 
=== Stage 1 ===
 
Create the first iteration of Web Hob, a read-only application that is limited to carrying out build metrics and forensics.


==== Latest Files ====
=== Stage 2 ===


* [[File:Wireframes-Stage_1-INT-002-0.10.pdf|Wireframes 0.10]] — Final Stage 1 Wireframes
Implement the second core capability of Web Hob for the first time - the build specification and creation process. Along with build metrics this will undergo continuous improvement throughout Web Hob's lifetime. Also implement support for multi-user operation, supporting the [[Web Hob Contexts|Team Web Hob context]].
* [[File:User_Test_1_Findings-INT-002.pdf‎|User Test Findings, Round 1]]


<br>
=== Stage 3 ===


=== Stage II & III ===
Improve the two core capabilities, making them more powerful and more robust. At the end of this stage these core Web Hob features should be mature enough that it is ready to be deployed on [[Web Hob Contexts#3._Public_Web_Hob|publicly available infrastructure]].


<br>
=== Scenarios included in stages 1 to 3 ===


==== Scenarios Covered ====
* Show Build Metrics
* Create Build 
** Identify image
** Set up Project 
** Define scope of analysis
** Choose Hardware
** Run analysis of image
** Set Preferences 
** View analysis overview
** Specify Layer(s)
* Finding / Viewing Builds
** Specify base image and package(s)
** View list of projects/builds
** Run Build
* Install Single-User Web Hob
* Install Web Hob Server
** Check prerequisites
** Configure team servers 
** Download/git clone Web Hob
** Install single-user option
* Create build
** Set up project
** Choose hardware
** Set preferences
** Specify layer(s)  
** Specify base image and packages
** Run build
* Install Web Hob server
** Configure team servers
** Select team options and configure
** Select team options and configure
* Error Messaging 
* Error messaging
** View error logs
** View error logs
* Refine scenarios from Stage I


=== What we really covered ===


====Schedule ====
The project plan turned out to be over optimistic. Of the above scenarios, the 2 installation ones (Install single-user option and Install Web Hob server) were never covered.


* '''4 Feb 2013''' Workshop
We, however, introduced an additional scenario about file access.
* '''8 Feb''' — 1st review
 
* '''12–14 Feb''' — User testing
== Final deliverables ==
* '''15 Feb''' — User testing review
 
* '''20 Feb''' — 2nd review
Wireframes: [[File:Final_wireframes_candidate_v1.1.pdf]]
* '''22 Feb''' — Final review
 
[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/Design%20project%202%20-%20TT/phase3_final_prototype_with_dots/index.html Static prototypes]
 
[http://www.yoctoproject.org/webhob/phase3_final_web_prototype/dashboard.html Web-based prototype]
 
[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/tree/Design%20project%202%20-%20TT/visual_design_psd Visual design (Photoshop files)]
 
== Intermediate deliverables ==
 
=== Wireframes ===
 
* [[File:Wireframes-Stage_1-INT-002-0.10.pdf]] Final Stage I Wireframes (bright blue links, buttons, etc. are clickable)
* [[File:Wireframes-Stage_2&3_review-INT-002-0.18.pdf]] — Interim wireframes incorporating Stage II & III feedback (bright blue links, buttons, etc. are clickable)
 
=== Static prototypes index ===
 
{|style="border-collapse: separate; border-spacing: 0; border-width: 1px; border-style: solid; border-color: #000; padding: 0"
! style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"| Iteration
! style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"| Version
! style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"| Stage
! style="align: left; border-style: solid; border-width: 0 1px 1px 0; padding: 0 5px;"| Scope
! style="align: left; border-style: solid; border-width: 0 1px 1px 0; padding: 0 5px;"| Link
|-
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|1
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|1
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|I,III
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|Build analysis
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/phase1-iteration1-prototype/index.html prototype]
|-
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|2
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|1
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|II,III
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|Projects and builds
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/phase2-iteration1-projects-builds/index.html prototype]
|-
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|2
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|2
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|II,III
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|Projects and builds
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/phase2-iteration2-projects-builds/index.html prototype]
|-
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|2
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|3
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|II,III
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|Projects and builds
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/phase2-iteration3-projects-builds/index.html prototype]
|-
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|2
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|1
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|II,III
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|File browsing and multi-user
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/phase2-iteration1-fileBrowsing-multiuser/index.html prototype]
|-
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|2
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|2
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|I,II,III
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|File browsing and build analysis
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/phase2-iteration2-filebrowsing-buildanalysis/index.html prototype]
|-
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|2
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|4
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|I,II,III
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|All scenarios
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/phase2-iteration4-allscenarios/index.html prototype]
|-
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|2
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|5
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|I,II,III
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|All scenarios
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/phase2-iteration5-allscenarios/index.html prototype]
|-
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|3
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|1
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|I,II,III
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|All scenarios
|style="border-style: solid; border-width: 0 1px 1px 0; align: left; padding: 0 5px;"|[http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/Design%20project%202%20-%20TT/phase3_final_prototype/index.html prototype]
|}


<br>
<br>


=== Stage I ===
* <strong>Iteration</strong> is the design round during which the prototype was produced. There were 3 design iterations in this project.


==== Latest Files ====
* <strong>Version</strong> indicates how many variations of each prototype we created as part of the design process.


* [[File:Wireframes-Stage_1-INT-002-0.10.pdf|Wireframes 0.10]] — Final Stage 1 Wireframes
* <strong>Stage</strong> refers to the Web Hob stages identified by Tobias & Tobias and described in the [[#Scope]] section.
* [http://git.yoctoproject.org/cgit/cgit.cgi/yocto-webhob-design/plain/phase1-iteration1-prototype/index.html Prototype 0.2]
* [[File:User_Test_1_Findings-INT-002.pdf‎|User Test Findings, Round 1]]


<br>
* <strong>Scope</strong> indicates, at a high level, which scenarios are addressed by the prototype.
 
* <strong>Link</strong> to the Yocto Project git repository where the prototype is hosted.
 
=== Other interaction design documents ===
 
* [[File:Web_Hob_content_structure.pdf]] — Web Hob information architecture
* [[File:Multiuser_support_in_Web_Hob.pdf]] - Design approach to multi user workflows in Web Hob
 
=== User feedback ===
 
* [[File:User_Test_1_Findings-INT-002.pdf]] — Summary of feedback gathered on the iteration I designs
* [[File:User_Test_2_Findings-INT-002.pdf]] - Summary of feedback gathered on iteration II designs
 
=== Visual design ===
 
Visual design work by Tobias & Tobias started at the beginning of March. They agreed to deliver a set of GUI components and 3 screen mockups:
 
* My activity dashboard
* Build dashboard
* Package information
 
The thumbnails below show the visual design work as it was delivered over time. I've grouped them by page, so that it's easier to see how they evolved.
 
Final versions were delivered on Friday, 22nd March 2013. This is the agency's final piece of work: it doesn't mean it will be the design we will implement. Changes might come based on community feedback.


==== Scenarios Covered ====
===== My activity dashboard =====


* Show Build Metrics (minimal)
<gallery>
** Identify image (minimal)
File:INT-002-Yocto-Dashboard-v0.10.png|Final
** Define scope of analysis (minimal)
File:INT-002-Yocto-Dashboard-v0.9.png | 22 Mar
** Run analysis of image (minimal)
File:INT-002-Yocto-Dashboard-v0.8.png | 21 Mar
** View analysis overview (minimal)
File:INT-002_-_Yocto_-_Dashboard_-_v0.7.png| 8 Mar
* Finding/Viewing Builds (minimal)
File:Yocto_light_01.png | 4 Mar - light
**View list of projects/builds (minimal)
File: Yocto_dark_01.png | 4 Mar - dark
* Install Single-User Web Hob (minimal)
</gallery>
** Check prerequisites (minimal)
** Download/git clone Web Hob (minimal)
** Install single-user option (minimal)


===== Build dashboard =====


====Schedule ====
<gallery>
File:INT-002-Yocto-Build_Dashboard-v0.10.png|Final
File:INT-002-Yocto-Build_Dashboard-v0.9.png | 22 Mar
File:INT-002-Yocto-Build_Dashboard-v0.8.png | 21 Mar
File:INT-002_-_Yocto_-_Build_Dashboard_-_v0.7.png| 8 Mar
File:Yocto-02.png | 6 Mar
File:Yocto-01.png | 6 Mar
File:Yocto_light_02.png | 4 Mar - light
File:Yocto_dark_02.png | 4 Mar- dark
</gallery>


* '''11 Jan 2013''' — Kickoff
===== Package information =====
* '''14 Jan''' — Workshop
* '''18 Jan''' — 1st review
* '''22–24 Jan''' — User testing
* '''25 Jan''' — User testing review
* '''30 Jan''' — 2nd review
* '''1 Feb''' — Final review


====Previous Files====
<gallery>
File:INT-002-Yocto-Build_Packages-v0.10.png|Final
File:INT-002-Yocto-Build_Packages-v0.9.png | 22 Mar
File:INT-002-Yocto-Build_Packages-v0.8.png | 21 Mar
File:INT-002_-_Yocto_-_Build_Packages_-_v0.7.png | 8 Mar
</gallery>


* [[File:Wireframes-Stage_1-INT-002-0.6.pdf|Wireframes 0.7]]
===== GUI controls =====


<br>
<gallery>
----
File:INT-002-Yocto-UI-v0.9.png|Final
<br>
File:INT-002_-_Yocto_-_UI_Web_Kit_-_v0.7.png | 8 Mar
</gallery>


=== Old Work ===
== Other Web Hob work ==


* [[Web Hob]] - the main page for the Web Hob project
* [[Yocto_Web_Hob_Design_0.0_—_Archived|WebHob Design — Archived]] - Design and documentation for the first Web Hob project, now superseded by the above.
* [[Yocto_Web_Hob_Design_0.0_—_Archived|WebHob Design — Archived]] - Design and documentation for the first Web Hob project, now superseded by the above.
* Web UI 0.1: [[File:HOB_WEB_architecture_overview_v0_1.pdf]] (deprecated)
* Web UI 0.1: [[File:HOB_WEB_architecture_overview_v0_1.pdf]] (deprecated)

Latest revision as of 13:18, 15 October 2013


The project formely known as Web Hob / WebHob / Webhob / webhob is now Toaster.

This page contains information on the Web Hob design project we ran with the London-based agency Tobias & Tobias between January and March 2013.

General discussion about Web Hob happens on a dedicated mailing list: https://lists.yoctoproject.org/listinfo/webhob


Introduction

Web Hob is a web-based interface to the Yocto Project. The agency Tobias & Tobias were hired to start the interface design process, following a previous strategy engagement that established priorities and a high level plan for the Web Hob project.

The design work happened between January and March 2013 and was structured like this:

  • 3 design iterations
  • 2 rounds of user feedback

The final deliverables would be a set of static wireframes, a web-based prototype and a visual design framework.

Scope

The strategy engagement identified 8 stages for the Web Hob project. The 3-month design work would cover the first 3 stages.

Stage 1

Create the first iteration of Web Hob, a read-only application that is limited to carrying out build metrics and forensics.

Stage 2

Implement the second core capability of Web Hob for the first time - the build specification and creation process. Along with build metrics this will undergo continuous improvement throughout Web Hob's lifetime. Also implement support for multi-user operation, supporting the Team Web Hob context.

Stage 3

Improve the two core capabilities, making them more powerful and more robust. At the end of this stage these core Web Hob features should be mature enough that it is ready to be deployed on publicly available infrastructure.

Scenarios included in stages 1 to 3

  • Show Build Metrics
    • Identify image
    • Define scope of analysis
    • Run analysis of image
    • View analysis overview
  • Finding / Viewing Builds
    • View list of projects/builds
  • Install Single-User Web Hob
    • Check prerequisites
    • Download/git clone Web Hob
    • Install single-user option
  • Create build
    • Set up project
    • Choose hardware
    • Set preferences
    • Specify layer(s)
    • Specify base image and packages
    • Run build
  • Install Web Hob server
    • Configure team servers
    • Select team options and configure
  • Error messaging
    • View error logs

What we really covered

The project plan turned out to be over optimistic. Of the above scenarios, the 2 installation ones (Install single-user option and Install Web Hob server) were never covered.

We, however, introduced an additional scenario about file access.

Final deliverables

Wireframes: File:Final wireframes candidate v1.1.pdf

Static prototypes

Web-based prototype

Visual design (Photoshop files)

Intermediate deliverables

Wireframes

Static prototypes index

Iteration Version Stage Scope Link
1 1 I,III Build analysis prototype
2 1 II,III Projects and builds prototype
2 2 II,III Projects and builds prototype
2 3 II,III Projects and builds prototype
2 1 II,III File browsing and multi-user prototype
2 2 I,II,III File browsing and build analysis prototype
2 4 I,II,III All scenarios prototype
2 5 I,II,III All scenarios prototype
3 1 I,II,III All scenarios prototype


  • Iteration is the design round during which the prototype was produced. There were 3 design iterations in this project.
  • Version indicates how many variations of each prototype we created as part of the design process.
  • Stage refers to the Web Hob stages identified by Tobias & Tobias and described in the #Scope section.
  • Scope indicates, at a high level, which scenarios are addressed by the prototype.
  • Link to the Yocto Project git repository where the prototype is hosted.

Other interaction design documents

User feedback

Visual design

Visual design work by Tobias & Tobias started at the beginning of March. They agreed to deliver a set of GUI components and 3 screen mockups:

  • My activity dashboard
  • Build dashboard
  • Package information

The thumbnails below show the visual design work as it was delivered over time. I've grouped them by page, so that it's easier to see how they evolved.

Final versions were delivered on Friday, 22nd March 2013. This is the agency's final piece of work: it doesn't mean it will be the design we will implement. Changes might come based on community feedback.

My activity dashboard
Build dashboard
Package information
GUI controls

Other Web Hob work