These are chat archives for AvaloniaUI/Avalonia

3rd
Feb 2015
Matthew Campbell
@mwcampbell
Feb 03 2015 20:12
I'm curious, why create a new GUI toolkit from scratch rather than doing a new, modern .NET wrapper over something mature like Qt or even WinForms? Is there a big advantage to having the widgets themselves implemented in .NET?
I ask because there's a lot more to a GUI toolkit than meets the eye, particularly when it comes to accessibility and (I'd guess) internationalization.
Steven Kirk
@grokys
Feb 03 2015 20:17
Hi @mwcampbell - good question!
and the only real answer, to be completely honest is "because i started writing it!
;)
Matthew Campbell
@mwcampbell
Feb 03 2015 20:18
fair enough ;)
Steven Kirk
@grokys
Feb 03 2015 20:18
it's always something i've been interested in - for my finals project at university i implemented a toolkit for X in the days before QT and Gtk
but there are quite a few things i find interesting in WPF
such as templating etc
Matthew Campbell
@mwcampbell
Feb 03 2015 20:19
so do you plan to work on the unsexy stuff like implementing platform accessibility APIs (e.g. UI Automation on Windows)?
Steven Kirk
@grokys
Feb 03 2015 20:19
it's not really something i've considered!
i realise it's not a going to be toolkit that someone could use for major projects any time in the very near future
Matthew Campbell
@mwcampbell
Feb 03 2015 20:20
I hesitate to guilt-trip, but if anyone actually uses Perspex for real applications, and it doesn't implement the platform accessibility APIs, then some people (e.g. blind people) won't be able to use the application at all
Steven Kirk
@grokys
Feb 03 2015 20:21
ha, if someone uses perspex for real applications they've got bigger problems than blind users!
Matthew Campbell
@mwcampbell
Feb 03 2015 20:21
OK, understood
Steven Kirk
@grokys
Feb 03 2015 20:21
but certainly, if there were enough interest
and the library got to such a point where such a thing were needed
it could be done
i'm not saying i'd be the one to do it
but if it did start to come close to usability for real applications
maybe it could get done
Matthew Campbell
@mwcampbell
Feb 03 2015 20:23
I might have to set up and do it if it gets to that point
Steven Kirk
@grokys
Feb 03 2015 20:23
but first... i've got to think about things like, i don't know - menus!
Matthew Campbell
@mwcampbell
Feb 03 2015 20:23
hah, yeah
Steven Kirk
@grokys
Feb 03 2015 20:25
so you are involved in accessibility?
Matthew Campbell
@mwcampbell
Feb 03 2015 20:25
Yes. I've written a screen reader for Windows.
Steven Kirk
@grokys
Feb 03 2015 20:26
interesting - it's something i know very little about
but obviously very important
any tips for a library at this stage of development?
to make it easier to add at a future date?
Matthew Campbell
@mwcampbell
Feb 03 2015 20:28
Not really; sorry. I haven't done much work on the application/toolkit side of the accessibility APIs, though I did do some work on the Windows port of WebKit a few years ago. The fact that Perspex is built on observable properties should help already.
Steven Kirk
@grokys
Feb 03 2015 20:29
Ok, well thanks for stopping by!
Matthew Campbell
@mwcampbell
Feb 03 2015 20:32
BTW, if you want to play with a Windows screen reader, a good free one (not the one I wrote) is NVDA (www.nvaccess.org)
There's also one called Narrator built into Windows, but it's pretty basic, even in Windows 8.1
Steven Kirk
@grokys
Feb 03 2015 20:33
thanks! i will check them out!
Matthew Campbell
@mwcampbell
Feb 03 2015 20:37
Oh, one other tip: Using the OS default theme (e.g. via UxTheme.dll on Windows) is also important for accessibility, for a different set of users; people who are visually impaired but not totally blind sometimes change their color scheme.
Steven Kirk
@grokys
Feb 03 2015 20:38
yes, that is something that will definitely be coming - at the moment everything is hard-coded in the theme
Matthew Campbell
@mwcampbell
Feb 03 2015 21:28
@grokys If I were to abstract the various platform accessibility APIs into a multi-platform library with a C API, would you use that library, or would you implement each platform's API directly in C# anyway?
I mean, if you actually take Perspex to the point where accessibility would even matter
Steven Kirk
@grokys
Feb 03 2015 21:29
hmm, hard to say really as i know know much about it
José Manuel Nieto
@SuperJMN
Feb 03 2015 21:30

ha, if someone uses perspex for real applications they've got bigger problems than blind users!

definitely!

Steven Kirk
@grokys
Feb 03 2015 21:30
the main problem with interfacing with C apis is that of portability
i.e. even 32/64 bit apps
Matthew Campbell
@mwcampbell
Feb 03 2015 21:31
OK, well it's all moot anyway unless Perspex gets beyond pre-alpha
Steven Kirk
@grokys
Feb 03 2015 21:31
yeah definitely
i don't know what the state of accesibility APIs is
José Manuel Nieto
@SuperJMN
Feb 03 2015 21:32
@mwcampbell do you know about XamlReader an co.?
would you collaborate with the current challenges? Accesibility is out of scope ATM I think :relieved:
for example, I need help with Deferred Content loading