Compare commits
No commits in common. "9bc8024706c25de3ebf182c7e988b7f7bfaf9268" and "908b084a94b272d768e56ac503d83ffcf7a161dd" have entirely different histories.
9bc8024706
...
908b084a94
6 changed files with 17 additions and 43 deletions
|
@ -2,10 +2,7 @@
|
||||||
# build and run
|
# build and run
|
||||||
go build && ./dofdev
|
go build && ./dofdev
|
||||||
|
|
||||||
# deploy
|
#deploy
|
||||||
rsync -avz --progress ~/go/src/dofdev/ root@dofdev:/root/dofdev/
|
rsync -avz --progress ~/go/src/dofdev/ root@dofdev:/root/dofdev/
|
||||||
# server starting at: http://localhost:3210
|
```
|
||||||
|
server starting at: http://localhost:3210
|
||||||
# track lfs
|
|
||||||
git lfs track "*.psd"
|
|
||||||
```
|
|
|
@ -18,7 +18,7 @@ func main() {
|
||||||
r := router.New()
|
r := router.New()
|
||||||
|
|
||||||
// Start the web server
|
// Start the web server
|
||||||
log.Println("server starting on port 3210...")
|
log.Println("server starting on port 3000...")
|
||||||
addr := ":3210"
|
addr := ":3210"
|
||||||
// addr := "192.168.0.21:3000"
|
// addr := "192.168.0.21:3000"
|
||||||
if err := http.ListenAndServe(addr, r); err != nil {
|
if err := http.ListenAndServe(addr, r); err != nil {
|
||||||
|
|
|
@ -6,7 +6,6 @@ import (
|
||||||
"github.com/gorilla/mux"
|
"github.com/gorilla/mux"
|
||||||
braillexr "github.com/spatialfree/dofdev/web/pages/braille_xr"
|
braillexr "github.com/spatialfree/dofdev/web/pages/braille_xr"
|
||||||
"github.com/spatialfree/dofdev/web/pages/mono"
|
"github.com/spatialfree/dofdev/web/pages/mono"
|
||||||
"github.com/spatialfree/dofdev/tem"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func New() *mux.Router {
|
func New() *mux.Router {
|
||||||
|
@ -16,10 +15,5 @@ func New() *mux.Router {
|
||||||
r.HandleFunc("/", mono.Handler)
|
r.HandleFunc("/", mono.Handler)
|
||||||
r.HandleFunc("/braille_xr", braillexr.Handler)
|
r.HandleFunc("/braille_xr", braillexr.Handler)
|
||||||
|
|
||||||
r.HandleFunc("/reload", func(w http.ResponseWriter, r *http.Request) {
|
|
||||||
tem.Load()
|
|
||||||
// route them back to where they came from
|
|
||||||
http.Redirect(w, r, r.Header.Get("Referer"), http.StatusFound)
|
|
||||||
})
|
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,20 +3,25 @@
|
||||||
<main>
|
<main>
|
||||||
|
|
||||||
<h1>braille_xr</h1>
|
<h1>braille_xr</h1>
|
||||||
<sub>gif of hand move braille change (from sk_demo)</sub>
|
|
||||||
|
|
||||||
<h2>problem</h2>
|
<h2>problem</h2>
|
||||||
<ul>
|
<ul>
|
||||||
<li>How can we help make XR (VR/AR/MR) accessible to people with visual impairments?</li>
|
<li>How can we help make XR (VR/AR/MR) accessible to people with visual impairments?</li>
|
||||||
<li>Current refreshable braille devices are very expensive ~$4,000</li>
|
<li>Current refreshable braille devices have ~40x6x2 actuators with carefully tuned long levers making them very expensive~$3,500</li>
|
||||||
<li>Cumbersome, with around 40x6x2 actuators with carefully tuned long levers</li>
|
<li>Not a very portable device</li>
|
||||||
<li>1 interaction method</li>
|
<li>1 interaction method</li>
|
||||||
<li>Other interactions of input for people with low vision require voice input which is not always comfortable.</li>
|
<li>Other interactions of input for people with low vision require voice input which is not always comfortable.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<img src='/public/img/brailliant_bi_40x.webp' width='60%'>
|
<img src='/public/img/brailliant_bi_40x.webp' width='60%'>
|
||||||
|
|
||||||
|
<h2>solution</h2>
|
||||||
|
<ul>
|
||||||
|
<li>Reduce the number of actuators</li>
|
||||||
|
<li>use spatial hand tracking for accessible and extensible interactions</li>
|
||||||
|
<li>create a comfortable and portable way to input braille</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<h2>progress</h2>
|
<h2>progress</h2>
|
||||||
<p style='margin-top: 0;'>code, hardware, software and project files: <a href='https://git.dof.dev/dofdev/braille_xr'>git repo</a></p>
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>easy to manufacture braille display</li>
|
<li>easy to manufacture braille display</li>
|
||||||
<li>small enough to leverage openxr hand tracking</li>
|
<li>small enough to leverage openxr hand tracking</li>
|
||||||
|
@ -24,9 +29,6 @@
|
||||||
</ul>
|
</ul>
|
||||||
<img src='/public/img/hack.webp' width='60%'>
|
<img src='/public/img/hack.webp' width='60%'>
|
||||||
|
|
||||||
<h2>support</h2>
|
<div style='height: 100px;'></div>
|
||||||
<p style='margin-top: 0;'>have resources or experience to throw our way? contact us on our discord server: <a href=''>invite/quick link</a></p>
|
|
||||||
|
|
||||||
<div style='height: 100px; display: block; width: 100%;'></div>
|
</main>
|
||||||
|
|
||||||
</main>
|
|
|
@ -5,14 +5,4 @@
|
||||||
<link rel="stylesheet" href="/public/style.css?v19">
|
<link rel="stylesheet" href="/public/style.css?v19">
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body>
|
<body>
|
||||||
|
|
||||||
<a style='
|
|
||||||
position: fixed;
|
|
||||||
top: 10px;
|
|
||||||
left: 10px;
|
|
||||||
width: 32px;
|
|
||||||
height: 32px;
|
|
||||||
background-color: #000;
|
|
||||||
opacity: 0.02;
|
|
||||||
' href='/reload'></a>
|
|
|
@ -59,15 +59,6 @@ code {
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
color: #0000FF;
|
color: #0000FF;
|
||||||
}
|
}
|
||||||
ul {
|
|
||||||
all: revert;
|
|
||||||
width: 90%;
|
|
||||||
margin: 0 auto;
|
|
||||||
margin-bottom: 1rem;
|
|
||||||
}
|
|
||||||
li {
|
|
||||||
all: revert;
|
|
||||||
}
|
|
||||||
img, video, canvas {
|
img, video, canvas {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
@ -100,4 +91,4 @@ input {
|
||||||
border-radius: 32px;
|
border-radius: 32px;
|
||||||
letter-spacing: 1px;
|
letter-spacing: 1px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue