Eiji
How about crowdfunding for scenic-based libraries/projects?
Hey, as you probably saw I have created this topic:
As I had wrote there I have made some research and did not found anything helpful. Therefore I was almost sure that there is no satisfying answer for it and posted such question to be sure. The problem is that linked question covers only few really basic things for specific use case of native desktop app.
I have just took a look at my browser (Vivaldi) settings window which is fully themed, have great i18n support and it’s just huge (16 categories). Writing it in scenic would take way too much time especially if we want to write proper dynamic search code and 1:1 theme support. Look that’s just settings window of first app which I had in mind.
Some time ago I was looking on scenic from documentation side and on source code examples. While code is awesome keeping in mind that everything is rendered using OpenGL it’s still not enough for comfortable developing lots of really simple apps.
I have few ideas for scenic-based libraries which would be extremely usable for typical native apps (something more than calculator). I wanted anyway to release such libraries as open source projects available on GitLab. Unfortunately I’m too bused now to fully focus on open source work without any founds and what I’m doing for community last time is mostly limited to only replying on some questions on this forum.
Here goes my idea: crowdfunding. At start I can give ~130 USD - maybe more if it would become more popular. I know that’s not a lot, but hope other people would also help. All collected money would go in one of 2 ways:
-
All / most for me if there would be really big amount of money. In such case I would finish all current works and I will fully focus on open source work since I would not need to worry about anything other.
In this scenario I would describe every idea in #your-libraries-projects:libraries category and I will notify about progress in specified period of time (let’s say 2-4 weeks). The only job offers which I expect are researching and writingNIFs. -
Most / all for
Elixirjob offers which would be available in one of those 2 forms:
a) pay for research
b) pay for1.0.0release
In this scenario I would describe details about public API, requirements, (at least part of) dependencies etc. in #community:elixir-jobs.
Here is a sneak peek:
-
Changes to
scenicand its drivers likescenic_driver_glfwmedium and high -
Advanced themes medium and high
Well … Just take a look at KDE/Plasma and see how much we can improve.
I expect 3 job offers here:- 1 research
- 2 libraries (split like
ecto+ecto_sql)
-
Frame-less app medium
Partially related to 1st point. Custom advanced titlebar.
I expect 3 job offers here:- 1 research
- 2 libraries (again split like
ecto+ecto_sql)
-
Advanced TabBar medium
Customizable like old Firefox - definitely something more than component with few predefined buttons …
Single job offer. -
Advanced form and its components easy
Something like advanced version ofHTMLforms, but withoutCSS3mess)
Also single job offer. -
Advanced settings easy
Categories, groups and layouts related …
Again single job offer. -
OS integration high
This would be split in the number of important OS features. For now I see 4 jobs offers:- MIME types and default applications
- System notifications
- TaskBar advanced support
- Tray icon (simple and advanced version)
-
Diagrams, Graphs and related medium
Maybe few small jobs (like each diagram type) or maybe one bigger.
and even more …
I have in mind bigger projects like scenic-based version manager, ecto designer, M.U.G.E.N. - like advanced 2D fight game engine, card game engine, but those are less important. Of course ecto designer would be really powerful and important, but not for typical OS-like app.
It’s all I have right now. Of course I can share full details at any time, but not sure if it’s even worth to write it without know your opinions. What do you think about it? Would you like to see detailed project information? Which crowdfunding service is good in your opinion?
Most Liked
Eiji
That’s not 100% true. Just my brain thinks in much different way than others (it’s not a bug it’s feature).
I’m trying to understand your positions. I’m even asking questions to better understand what other said and I’m changing my plans, because I have not so much knowledge at this point. It’s why I just give up with some of features as I see that GTK+ and Qt look and feel is not so easy to reproduce.
Basically others and me comes from different assumptions. For me the most important is to not create/use too much overcomplicated solutions. It’s why instead of GTK+/Qt with scripting API for “50+” languages I prefer to introduce simple SVG with SIML animations. Those 2 are well known and easy to understand. Most of people would get what’s going just to read “few words” about them (if they don’t know them yet) and looking at their source. Basically everyone who worked with XML before would not have any problem with understand them unlike custom scripts in languages which you could know only their name.
I totally got why using Qt is good solution. I have worked with it in C++, but after some time I just tried other library and later other language. It was best GUI library which I know in C/C++ world, but I did not really loved it. I decided to use Elixir not because everyone knows and use it - I just found that it’s perfect language for my use cases. I don’t even though that here could be created such GUI library. From first time when I heard about scenic I just wanted to take a look at its source unlike in any other GUI language I have worked before. I have even started to believe in love at first sight! ![]()
I’m not sure how many people would use my fork, but I really don’t care about it. In other situation it would be a big priority for me, but here as long as it would be well written I would use it for really lots of desktop GUI apps which for now are too complicated to create just because scenic offers only basic features now.
I did not found
in your reply, so I don’t even know what should I ignore.
I will definitely do it for fun since it’s not something “just for work”, but also it would be really important dependency for my future projects.
stefanchrobot
If I understand correctly, you want to build desktop apps, right? That’s what I’m getting from showing a tray icon, etc.
If that’s the case, I think Scenic is not the right tool for that - I’d suggest going with platform specific components/widgets. I know that cross-platform UIs sound very nice, but in reality native widgets come on top when you really want platform-like feel (same story as on mobile). While wxErlang might be useful in some cases, you’ll hit a wall the second you’ll try to play a sound.
I’m working on an Elixir library for building component-based desktop apps, but that’s still in the making and not a priority till at least March.
stefanchrobot
There’s a huge difference between looking native and actually being native. There was a great blog post that described a lot of features that you get for free just by using native components on Mac (sorry, I can’t seem to find it…). Same story applies to Windows. If you don’t go with native components, you end up with some users thinking “I should be able to select this text” or “I should be able to right-click here”. For most cases you probably don’t care, but you need to at least understand the limitations of going cross-platform vs native.
Popular in Questions
Other popular topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #advent-of-code
- #elixirconf-us
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #performance









