These are chat archives for AvaloniaUI/Avalonia

3rd
Feb 2015
Matthew Campbell
@mwcampbell
Feb 03 2015 20:12 UTC
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 UTC
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 UTC
fair enough ;)
Steven Kirk
@grokys
Feb 03 2015 20:18 UTC
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 UTC
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 UTC
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 UTC
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 UTC
ha, if someone uses perspex for real applications they've got bigger problems than blind users!
Matthew Campbell
@mwcampbell
Feb 03 2015 20:21 UTC
OK, understood
Steven Kirk
@grokys
Feb 03 2015 20:21 UTC
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 UTC
I might have to set up and do it if it gets to that point
Steven Kirk
@grokys
Feb 03 2015 20:23 UTC
but first... i've got to think about things like, i don't know - menus!
Matthew Campbell
@mwcampbell
Feb 03 2015 20:23 UTC
hah, yeah
Steven Kirk
@grokys
Feb 03 2015 20:25 UTC
so you are involved in accessibility?
Matthew Campbell
@mwcampbell
Feb 03 2015 20:25 UTC
Yes. I've written a screen reader for Windows.
Steven Kirk
@grokys
Feb 03 2015 20:26 UTC
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 UTC
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 UTC
Ok, well thanks for stopping by!
Matthew Campbell
@mwcampbell
Feb 03 2015 20:32 UTC
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 UTC
thanks! i will check them out!
Matthew Campbell
@mwcampbell
Feb 03 2015 20:37 UTC
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 UTC
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 UTC
@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 UTC
hmm, hard to say really as i know know much about it
José Manuel Nieto
@SuperJMN
Feb 03 2015 21:30 UTC

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 UTC
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 UTC
OK, well it's all moot anyway unless Perspex gets beyond pre-alpha
Steven Kirk
@grokys
Feb 03 2015 21:31 UTC
yeah definitely
i don't know what the state of accesibility APIs is
José Manuel Nieto
@SuperJMN
Feb 03 2015 21:32 UTC
@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