Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fritzing 2019 Roadmap #3443

Open
KjellMorgenstern opened this issue Apr 27, 2019 · 33 comments
Open

Fritzing 2019 Roadmap #3443

KjellMorgenstern opened this issue Apr 27, 2019 · 33 comments
Labels
Projects

Comments

@KjellMorgenstern
Copy link
Member

KjellMorgenstern commented Apr 27, 2019

Hello,

as announced in #3435 , I am taking over maintenance of Fritzing for André. My C++ / Embedded development / Robotics background is a good start, but I am not alone. Together with the help of the people at Aisler and @ovidiub13, a developer with KDE background, we plan to release a fresh build of Fritzing in the near future.

So, this is a short term roadmap, limited to the minimal things to get things rolling.

April/May 2019

  1. Add CI for Linux, Windows and Mac targets
  2. We will create a test release 0.9.4alpha , since toolchains and many other things have changed, and we need to verify that processes still work on a all platforms.
  3. Reduce the number of open issues, by closing issues which are too old, no longer valid, or just to low in priority as “No fix, please re-open if you disagree”.

4. After alpha, we will roll out 0.9.4b to the download section.
5. Update developer wiki: Align better with git-flow, rebase all pull requests before merge, only accept PR if CI is green, check basic coding style...

June/July 2019
8. (ongoing) Reduce the number of open issues...
9. Prepare 0.9.5 release, work on new features/feature requests
10. Add black box and unit test infrastructure

August/September 2019
13. Create 0.9.5 beta
14. Release 0.9.5 stable
4. Roll out 0.9.4b to the download section

October/November 2019

  • Roll out 0.9.4 Release on fritzing.org
  • Start 0.9.5 development
  • Upgrade to Qt >= 0.5.9 and to C++14
  • Improve parts editor and scripts for parts
  • Import parts from the community to Fritzing Core
  • Identify and add most requested parts
  • Feature high quality uploads from the project database
  • Upgrade Forum server (non visible change)

December 2019

  • Roll out 0.9.5

January/February 2020

  • Get Apple certificate for MacOS Catalina builds
  • Try and add ARM build
  • Add Windows installer (many issues seem to be caused by messed up Windows copies)
@vanepp
Copy link
Contributor

vanepp commented Apr 27, 2019

This is wonderful news,! I have been trying (with little success) for that last couple of years to restart development.

"We will create a test release 0.9.4alpha , since toolchains and many other things have changed, and we need to verify that processes still work on a all platforms."

This shouldn't be to bad. I have working environments for Linux and Windows7 and 10 with current versions of Qt and the dependencies. Libgit2 on Windows was hard (at least for me) but I now have a working version (I can share what worked for me, if it turns out to be not obvious for someone experienced in development). There was a problem with an assert on tspans in Qt but I fixed the parts that were causing it in the parts database and it now builds correctly (or at least did a couple of months ago) on Linux and Windows. I don't have a Mac, and someone that does tried but failed (libgit2 problems) to get a build going there, but I expect that to be only a problem of configuration (Linux is somewhat picky about configuration too). Lately I have been working on updating the parts templates on the web site as the current ones are just plain wrong.

Peter

@karpawich
Copy link

I'm so excited that AISLER found a maintainer! That is great news. @KjellMorgenstern I've been doing some work to rebuild Fritzing in JavaScript. Seeing as you've been brought in, I'll transition towards building a Parts Editor instead.

5. Update developer wiki: Align better with git-flow, rebase all pull requests before merge, only accept PR if CI is green, check basic coding style...

When I wrote parsing functions for Fritzing data files, I discovered many components which were left undocumented in the Wiki. Once when you shift focus to the Wiki, I'll open an Issue with the missing components so the new Wiki can be complete.

@jchull
Copy link

jchull commented Apr 30, 2019

@karpawich

... I've been doing some work to rebuild Fritzing in JavaScript.

Is there a public repo? Seems like someone interpreted your comment to mean the app is being rewritten in JS.

@brian-p-ray
Copy link

@jchull

Seems like someone interpreted your comment to mean the app is being rewritten in JS.

I got here from a Hackaday article that claims that Fritzing is being rewritten in JS.

@deshipu
Copy link

deshipu commented Apr 30, 2019

@jchull The effort to "rewrite" Fritzing is centered at https://github.com/freetzing

@madpipeline madpipeline added this to In progress in Fritzing Apr 30, 2019
@KjellMorgenstern
Copy link
Member Author

@monodesigns Thanks for the link. The article is misleading, the releases planned here are based on the current code (that is in C++, just to be clear).

@karpawich
Copy link

karpawich commented May 1, 2019

@deshipu @KjellMorgenstern @jchull @monodesigns

I originally led the team which was porting Fritzing over to JavaScript for future development. Seeing as Kjell has been brought in to continue development on the existing C++/Qt codebase, I will be transitioning my work with JavaScript to a Parts Editor desktop application.

I will contact the Hackaday team as well to see that the article is updated to reflect the recent changes.

Edit: I have contacted the author of the article at Hackaday and cc'd Kjell on the email. @PatrickFranken perhaps AISLER could do a PR (Press Release) to clear things up?

@KingDarBoja
Copy link

That's a great news! Been waiting for some clean up on Fritzing repo and some development since this open source software been around.

Also, there is going to be some work on the official website along with the forums after those releases? Just curious.

Cheers!

@madpipeline
Copy link
Contributor

Hi @KingDarBoja. Yes we plan to work on the website as well. We're still in the planning phase on that, as there are many moving parts that involve the site.

@DonPavlov

This comment has been minimized.

@KjellMorgenstern

This comment has been minimized.

@DonPavlov

This comment has been minimized.

@Arteneko
Copy link

With a background in both backend development and sys administration, I guess I could provide some help with the website's hosting

@KjellMorgenstern
Copy link
Member Author

The website is currently in a private repo, which is of course bad for colaboration. This was all for good reasons (trying to give Fritzing to some reliable constant financing), but it didn't work out as planned.
From the technical side, the webpage is written in python, and about 10 years old. Short term plan for now is to (re)build static parts of the page.

@vanepp
Copy link
Contributor

vanepp commented May 20, 2019

@KjellMorgenstern The main site web server looks to be having performance issues at the moment. It has always been slow to log in to the forums, but in the last week or so it has started to sometimes time out before responding with the login page. The forums (which I gather are on a different web server) seem to be fine.

@KjellMorgenstern
Copy link
Member Author

Yes, the forum is fine more or less, with an up to date stack. However the registration part is still on the old server.

@KjellMorgenstern
Copy link
Member Author

Update on the roadmap: May has passed, and we don't have an official 0.9.4 release, so we are behind the roadmap I set up two months ago.
The reasons:

  1. A lot of work is going into getting fritzing.org more reliable. This includes some fixes on the current server, but also a complete rewrite of the site.
  2. Also, we decided to establish a full continuous delivery system first, which is about to go live: PR CD linux mac #3488 . That means for each new fix a runnable developer version of Fritzing can be downloaded from github.

@vanepp
Copy link
Contributor

vanepp commented Jun 20, 2019

For me (and I expect most everybody else too) I'm happy to see progress (and there has been a lot!) A suggestion for the dev builds (if possible), I modify

src/utils/folderutils.cpp like this:

at line 144 change

QString path = QSettings(QSettings::IniFormat,QSettings::UserScope,"Fritzing_dev","Fritzing").fileName();

to

QString path = QSettings(QSettings::IniFormat,QSettings::UserScope,"Fritzing_dev","Fritzing_dev").fileName();

and at line 151

return dir.absoluteFilePath("Fritzing");

to

return dir.absoluteFilePath("Fritzing_dev");

This means the the dev build will use different user directories than 0.9.3b so both can coexist at the same time on the same system without affecting the other. When loading a dev version you can either use the Fritzing_dev directory as is (Fritzing will create it if it doesn't exist) or copy the Fritzing directory from 0.9.3b in to Fritzing_dev to make the dev version identical to your production version. I find this makes testing new versions much easier.

Peter

@wraybowling
Copy link

I'm very happy to see this. I truly believe in Fritzing. I want to contribute some of my deeper understanding of SVGs and Inkscape as well as user experience design, so I'll see about getting involved behind you in those ways. Looking forward to it.

@KjellMorgenstern
Copy link
Member Author

@wraybowling SVGs and Inkscape, that means the part editor, which is great as there are certainly some improvements possible. You might want to look at the issues with the labels Parts-Editor and Parts to see if there is something for you.

@vanepp
Copy link
Contributor

vanepp commented Sep 25, 2019

@wraybowling If you don't already know of it, the parts file format document is very useful for understanding the parts files xml (unfortunately not all of it though, and I am not sure it is completely up to date with the current code) in the blog at https://github.com/fritzing/fritzing-app/wiki/2.1-Part-file-format is an excellent resource. Someone familiar with Inkscape's quirks will also be very welcome. I understand very little of it, and it tends to do odd things (probably because I don't understand what I have done). You can find discussion on a number of the issues in the Fritzing forums. The parts editor was not finished when development stopped, so I tend to edit the underlying files and ignore parts editor. Making parts creation easier in any manner (Suggested Inkscape preference file settings, svg tips, almost anything) would be welcome. It currently has a steep learning curve.

Peter

@ju5t
Copy link

ju5t commented May 30, 2020

Any news on the Catalina builds?

On the website it said 10.15 is untested but it's actually unsupported because it simply doesn't start. It was only after the payment it said the download was there for 10.14.

I don't mind the money, but you could do a little better on the information side of things to be fair.

@KjellMorgenstern
Copy link
Member Author

@ju5t I tried it on a VM with a fresh MacOS Catalina, and it started flawlessly. But that is not enough to claim it is tested or supported. MacOS Catalina is from October, to late to be considered for the 0.9.4 release of Fritzing in November. The most common issue is that permission to start must be set first, as MacOS won't allow it to run without an official certificate.

@ArsineMan
Copy link

Hi. I am having a hard time understanding where Fritzing lives. I see fritzing.org has a 9.4 version, I see someone now has a freetzing and I see this repository. Can anyone direct me to the most widely used codebase for fritzing?

@KjellMorgenstern
Copy link
Member Author

@ArsineMan This one... compare also to fritzing.org , or compare the github activities of other projects.

@KingDarBoja
Copy link

@ArsineMan ignore the Freetzing repos as that was a previous try from community to migrate Fritzing into JS/TS environment, but soon after that, Fritzing got new maintainers like Kjell and now the projects is alive again.

This repo is the official and only source code of Fritzing 🚀

@Janhgm
Copy link

Janhgm commented Jul 21, 2020

@KjellMorgenstern

Is development for Fritzing possible for others.
Like to know if github can be used or that current development is in isolation.

@KjellMorgenstern
Copy link
Member Author

@Janhgm We accept pull-requests, although we might be picky. Try to keep them small for easy and fast review, add a description, and link the corresponding issue on github. The onboarding is quite time intensive if you don't yet have a lot of experience with C++ and Qt framework. If you are not, I recommend starters to get familiar with the parts format and the fritzing-parts repo. Working on parts requires some basic understanding of electronics, and SVG file format, and Fritzing specific XML. Python is also helpful. Improving parts availability is also an area were we want to focus on in the near future.

@Janhgm
Copy link

Janhgm commented Jul 29, 2020

@KjellMorgenstern . OK. I shall start with an isolated copy to make my own build and to look how well the code is maintainable. (Got some experience with other open projects where I was admin.)

@RamblingGeekUK
Copy link

How is this going ?

@failiz
Copy link
Contributor

failiz commented Jan 19, 2021

It is going well. Kjell is working hard and he will release 0.9.5 soon. However, please, do not ask these type of questions in the issue tracker, ask them in the forum. It wastes developer time (we get emails for each new comment in the issue tracker). See for example:
https://medium.com/@methane/why-you-must-not-ask-questions-on-github-issues-51d741d83fde

@failiz
Copy link
Contributor

failiz commented Apr 25, 2021

Time to make a roadmap for 0.9.7!
Probably the best is to close this issue and open a new one.
Regarding me, I will continue working on the simulator:

  • Add a few more spice fields and fix some of the current ones
  • Create examples
  • Show spice properties in the inspector
  • Maybe trigger simulation when parts properties change?
  • If I have time, make potentiometers and buttons interactive (be able to change their properties without using the inspector)
  • Fix bugs, clean the code (remove WX code) and merge it into develop

My two cents, it would be nice if we could address any of the main problems:

  • SVG compatibility
  • Parts editor
  • Gerber export issues
  • Automatic checks for new parts and easy way to submit them
  • Properties handling (maybe not the most urgent)

@th-gauweiler
Copy link

Fine.
How about all errors which are marked with high priority?
E.g. #2199 was found nearly 10 years ago.
(yes I know it was long time ago the current team was etablished.)

Just my two cent.

Thomas

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Fritzing
  
In progress
Development

No branches or pull requests