Author Topic: DIPTrace and KiCAD  (Read 6934 times)

0 Members and 1 Guest are viewing this topic.

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
DIPTrace and KiCAD
« on: December 04, 2024, 05:36:08 pm »
At first glance DIPTrace bears a remarkable resemblance to KiCAD.  Are they from the same original code base?
 

Online shabaz

  • Frequent Contributor
  • **
  • Posts: 724
Re: DIPTrace and KiCAD
« Reply #1 on: December 04, 2024, 07:49:15 pm »
To me, it looks like some of the workflows are similar indeed, but maybe that's the case with a few other CAD packages, too perhaps.

DIPTrace seems as competent as any other in this 'basic PCB CAD package' space. But to me, it's not compelling because, equally, KiCAD seems just as competent in that space, plus it has excellent free community support (with responses within hours usually).

KiCAD is easy to use (needs just an hour of viewing training material first, or just dive right in; I created my first PCB with KiCAD within a couple of days), although admittedly, some parts of workflows with KiCAD are clunky (and some parts are heavily clunky to be fair!), which can slow down productivity a bit. However, the clunky parts still work (and other parts of KiCAD make up for that, so you can gain speed elsewhere).

I used to use different software called EAGLE for years, but I've never gone back (and wouldn't now, even if EAGLE was offered for free).
 

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 4064
  • Country: nl
Re: DIPTrace and KiCAD
« Reply #2 on: December 04, 2024, 08:14:18 pm »
I never used Diptrace myself (But do use KiCad). I Did see the video about the Diptrace 5.0 Beta release and their new features, and I was not very impressed. It was mostly functions that had already been implemented in KiCad for some years, and I did get a sort of deja-vu feeling. Accusing them of putting GPL code in their proprietary software would be a quite serious accusation, but I do believe they are keeping an eye on their competitors and implement similar functions.

On top of that, there is also a limited number of workflows that work well for an EDA suite, so it's no surprise to find overlaps in the way some things work.
 

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #3 on: December 05, 2024, 12:24:43 pm »
I'm learning to use KiCAD - I've yet to design my first PCB. But I've got to say, the whole thing feels like a right old kludgy mess to me. It works OK, but the UI looks like a W95 program.  Even now, after 32 years of development, the integration between eeschema and pcbnew is plainly visible rather than seamless, as it surely should be.  Features have been bolted on over the years, which has made the UI and workflow ever more complex.

Most users of KiCAD will argue that it's the functionality that matters, because the UI is just something you have to learn, and once learned it's fine. And I agree that the functionality of KiCAD is great.

However, to me, software programs are tools, and I really want to enjoy using the tools in my toolbox. That's why I've been keeping an eye on alternatives: something that isn't showing it's age quite so much. DIPTrace was an obvious alternative, but as soon as I saw it I was convinced it originated from the same codebase as KiCAD. The UI elements are from the same period, the way it is a bodge-together of separate editors, and even the broad layout of the screens is too similar to be coincidental.

Anyway, my search for a modern, clean, elegant alternative continues. The only possibility I've come across that might tick those boxes is dexpcb.com, but it is hard to find anyone with nice things to say about it (or anything at all to say about it). Meanwhile, my KiCAD training continues, too.
 
The following users thanked this post: tooki

Offline Doctorandus_P

  • Super Contributor
  • ***
  • Posts: 4064
  • Country: nl
Re: DIPTrace and KiCAD
« Reply #4 on: December 05, 2024, 01:31:29 pm »
A long time ago KiCad choose for wxWidgets as the GUI library. Maybe that was not the best choice, but I don't know what alternatives there were 30 years ago. Several improvements are planned (such as editable and dockable toolbars), but are currently waiting for them to be implemented in wxWidgets first.

And although functionality definitely is the main goal, "user experience" is also important. I don't really see what problems you have, but I have grown up with EDA suites in the '90-ies myself, and back then the interaction between the schematic and PCB editors in other programs was also similar to how KiCad works now.

Even now, after 32 years of development, the integration between eeschema and pcbnew is plainly visible rather than seamless, as it surely should be.

I am not sure how this could ever be made "seamless". The schematic and PCB editors will always be two different drawing canvases, and some interface to move information between those two has to be implemented. In Eagle (which I only used very briefly) deletion of a schematic symbol (wires?) also caused deletion of a PCB footprint (tracks) (unless some special function is used) which is also annoying and "clunky" to learn.

Features have been bolted on over the years, which has made the UI and workflow ever more complex.
Up to around 2015 KiCad was a relatively simple "hobby level" program, and after around 2017 the development speed started increasing significantly. (There was also a lot of "invisible" refactoring done "under the hood" around that era). A part of the "clunkyness" of KiCad is caused by it's open source nature. Developers are pretty much free to work on any feature they like, but it has to fit in the goals and overall direction of the KiCad project. New functions are sometimes added in a seemingly illogical order, but refactoring and better organization of menu's also takes place. It is a gradual and incremental process though.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28744
  • Country: nl
    • NCT Developments
Re: DIPTrace and KiCAD
« Reply #5 on: December 05, 2024, 01:42:07 pm »
I'm learning to use KiCAD - I've yet to design my first PCB. But I've got to say, the whole thing feels like a right old kludgy mess to me. It works OK, but the UI looks like a W95 program.  Even now, after 32 years of development, the integration between eeschema and pcbnew is plainly visible rather than seamless, as it surely should be.  Features have been bolted on over the years, which has made the UI and workflow ever more complex.

Most users of KiCAD will argue that it's the functionality that matters, because the UI is just something you have to learn, and once learned it's fine. And I agree that the functionality of KiCAD is great.
I guess you never used professional grade CAD software then. Back in the old days the schematics and PCB where drawn in completely different packages. Having integration between them is something which started happening 20 to 25 years ago but there are still many with distinctively different schematics & PCB design tools. IOW: It is not a given that schematic and PCB tools have the same look & feel or are entirely integrated.

Edit: I want to add that every CAD tool has a learning curve. In my experience things that look unlogical at the beginning, are very efficient to use once you get the hang of it.
« Last Edit: December 05, 2024, 04:15:08 pm by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Online shabaz

  • Frequent Contributor
  • **
  • Posts: 724
Re: DIPTrace and KiCAD
« Reply #6 on: December 05, 2024, 04:08:00 pm »
I tried a few CAD packages before deciding to give KiCad a shot.

Most other basic CAD packages (i.e., those lacking many enterprise features and are more intended for smaller businesses or hobby use) are either open source with often a lone developer driving most of it or are chargeable products that didn't seem to offer anything significantly compelling over KiCad, and again some might still have a lone developer running things.

To learn, I chose a low-to-mid-level complexity project, where I would need custom symbols+footprints, custom-shaped pads, some routed cutouts, a bit of trace length matching, and so on, and used that to try out KiCad and got there within a few days.

If you google 'Creating Circuit Boards with KiCad 6' there's a 50-minute video (purple/pink/gray thumbnail) which is not monetised so no ads to get in the way of absorbing the content, that ought to contain everything from start to finish, for such a design as described above. I suggest it because it's compatible with KiCad 8 and is quite fast-paced, but it doesn't leave anything significant out (I hope) to get going. I would link it, but I created it, and it feels spammy to keep linking it whenever anyone mentions learning KiCad. Some might prefer the official written KiCad tutorial that looks comprehensive.
 

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #7 on: December 05, 2024, 05:27:24 pm »
A long time ago KiCad choose for wxWidgets as the GUI library. Maybe that was not the best choice, but I don't know what alternatives there were 30 years ago. Several improvements are planned (such as editable and dockable toolbars), but are currently waiting for them to be implemented in wxWidgets first.

Well, it's the lazy way of building a cross-platform product. As you suggest, I don't think there were many alternatives available at the time.  Personally I dislike using stuff like wxWidgets because the resultant UI doesn't observe the Windows norms when running on Windows, doesn't observe the Linux norms when running on Linux, and so on. It brings its own set of norms, which aren't entirely consistent with any particular OS. 

And although functionality definitely is the main goal, "user experience" is also important. I don't really see what problems you have, but I have grown up with EDA suites in the '90-ies myself, and back then the interaction between the schematic and PCB editors in other programs was also similar to how KiCad works now.

It depends on how you define "problem", but in any case I didn't say I had a problem, I said I dislike using KiCAD, even though I will soon be pretty competent in it (I'm working my way through Peter Dalmaris's course, which I can recommend as being very thorough). https://techexplorations.com

Up to around 2015 KiCad was a relatively simple "hobby level" program, and after around 2017 the development speed started increasing significantly. (There was also a lot of "invisible" refactoring done "under the hood" around that era). A part of the "clunkyness" of KiCad is caused by it's open source nature. Developers are pretty much free to work on any feature they like, but it has to fit in the goals and overall direction of the KiCad project. New functions are sometimes added in a seemingly illogical order, but refactoring and better organization of menu's also takes place. It is a gradual and incremental process though.

I think you've nailed it perfectly. It was a hobbyist program which got changed into a professional level product. In my view this is a poor way to develop an application, because it leads to compromises. Great software needs a singular "vision", and that vision needs to be ever present - and dominant - throughout the development of the product.  Open source rarely enjoys that benefit, so hodge-podging new features and functionality is almost always in the context of a loose association of interested volunteers, rather than under the strict direction of a corporate vision (with profit to be made from it). I haven't yet found a single open source program that I prefer to use over the best of the commercial products.  By way of example, people tell me that Audacity is a fantastic example of a great open source program.  I think "You must be kidding!".  The UI is absolutely dreadful.  Try something like Adobe Audition, and then tell me Audacity is great.  It surely isn't.  The functionality is great, but the UI? Nope.

My point being that KiCAD will probably never shake off its amateur origins and it's open source nature. It will bristle with features (software engineers are great at implementing features) but its UI will forever be old-fashioned, with poor discoverability and more complexity than ideal (software engineers are rubbish at designing UIs).  Both of these sweeping statements are generalisations and said tongue-in-cheek! 😀
 
The following users thanked this post: tooki

Online shabaz

  • Frequent Contributor
  • **
  • Posts: 724
Re: DIPTrace and KiCAD
« Reply #8 on: December 05, 2024, 06:21:32 pm »
I haven't yet found a single open source program that I prefer to use over the best of the commercial products.

That's the thing; I strongly suspect this time will be an exception, in any fair comparison, for instance, I'm assuming that you'd prefer to use a product that is under active development with more than one developer. I agree with the Audacity example, though.

If you're considering the whole product proposition in that CAD space and looking at price-performance, then I doubt you'll find anything suitable. For instance, there's EAGLE, and Circuit Studio, both with good or excellent price-performance and targeted broadly in the same space, and yet EAGLE has an extremely unusual (compared to Windows conventions) user interface (which I actually like, but that's not the point), and Circuit Studio has a very Windows-like UI but not seen an update in more than half a decade, so that fails an 'active development' criteria. Then there's DipTrace, which, as you mention, looks to have some similar workflows to KiCad, and yet costs $1k for more than 2000 pin capability.

If price is not a factor in the product decision, then I think you'll still not find anything suitable in terms of user experience and seamlessness for a single user. Most of the large enterprise CAD systems are designed with lots of separation in mind, so that the person drawing the circuit won't necessarily be the person creating the component and footprint, nor the person laying out the PCB.

And to put it into perspective, KiCad is really not that bad. The user experience is acceptable enough to plow through and discover your required features (either on your own or occasionally using Google or the very excellent community support) and achieve success within a couple of days. It's possible to overthink this and spend days going through tutorials or 'just do it.'
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 28744
  • Country: nl
    • NCT Developments
Re: DIPTrace and KiCAD
« Reply #9 on: December 05, 2024, 07:07:32 pm »
A long time ago KiCad choose for wxWidgets as the GUI library. Maybe that was not the best choice, but I don't know what alternatives there were 30 years ago. Several improvements are planned (such as editable and dockable toolbars), but are currently waiting for them to be implemented in wxWidgets first.
Well, it's the lazy way of building a cross-platform product. As you suggest, I don't think there were many alternatives available at the time.  Personally I dislike using stuff like wxWidgets because the resultant UI doesn't observe the Windows norms when running on Windows, doesn't observe the Linux norms when running on Linux, and so on. It brings its own set of norms, which aren't entirely consistent with any particular OS. 
That is 100% the choice of the developers, not a 'problem' caused by using WxWidgets. In itself WxWidgets is very specifically designed to adhere to the GUI standards of the OS it is running on. Or at least use the native OS Widgets. Things get a bit hairy with very OS specific things but even then there are (documented) ways to bridge the gap.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 
The following users thanked this post: SteveThackery

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #10 on: December 05, 2024, 11:02:41 pm »
And to put it into perspective, KiCad is really not that bad. The user experience is acceptable enough to plow through and discover your required features (either on your own or occasionally using Google or the very excellent community support) and achieve success within a couple of days.

I totally accept that, and agree with it: unless you spend "big dollar" the alternatives to KiCAD are just as awkward in their own ways.

I find this about general purpose CAD programs, as well. For example, when I was lecturing at university I used to teach the students SolidWorks.  That costs serious money, but I couldn't believe how clunky and incoherent that was.  Again, a UI designed 30 years ago, and in the case of SolidWorks, a guaranteed crash* every time you do any serious animation of assemblies. I concluded that the only reason to pay for it is if you already have years worth of investment in it.  SolidWorks is another great example of software which has had feature after feature bolted on until it becomes an incoherent mess. 

I didn't appreciate how unsatisfactory it was until after I left the university and, in my search for alternatives, discovered Fusion 360 and Solid Edge.  It was like lifting a veil: I discovered what good CAD UIs could look like.  I now stick with Solid Edge Community Edition, and it just feels so "right" compared with SolidWorks.

*(Not a complete crash, but the assembly becoming an unrecoverable mangled version of what it should be, requiring the whole assembly to be deleted and rebuilt.  Maybe animations aren't used much by professionals. )
« Last Edit: December 05, 2024, 11:09:30 pm by SteveThackery »
 

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #11 on: December 05, 2024, 11:13:01 pm »
That is 100% the choice of the developers, not a 'problem' caused by using WxWidgets. In itself WxWidgets is very specifically designed to adhere to the GUI standards of the OS it is running on. Or at least use the native OS Widgets.

Thanks, I didn't fully appreciate that. It's still a shame that KiCAD looks like 30-year-old software. It doesn't have to be that way, although I totally appreciate that a UI overhaul would be pretty much impossible to justify and certainly isn't a priority for any of its serious users.
 

Offline deadly_penguin

  • Contributor
  • Posts: 14
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #12 on: December 13, 2024, 08:46:10 pm »
Quote
unless you spend "big dollar" the alternatives to KiCAD are just as awkward in their own ways.

Even spending reasonable money doesn't get past that. OrCAD and Allegro are extremely wonky and need getting used to.
The content of this post is purely fictional. Any relation to reality is entirely coincidental and was not the author's intent.
 

Offline DimitriP

  • Super Contributor
  • ***
  • Posts: 1433
  • Country: us
  • "Best practices" are best not practiced.© Dimitri
Re: DIPTrace and KiCAD
« Reply #13 on: December 13, 2024, 09:20:53 pm »
Quote
It's still a shame that KiCAD looks like 30-year-old software

I'd rather have software that I like than software I don't like.
If you have a screenshot of what NOT  "30 year old software"  looks like, I'd lke to take a look
This is not in any way in defence of kicad , I prefer DIPtrace - but it's also not my day job.
   If three 100  Ohm resistors are connected in parallel, and in series with a 200 Ohm resistor, how many resistors do you have? 
 

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #14 on: December 14, 2024, 09:44:05 pm »
Well, I don't know if this UI will be to your taste, and I haven't yet used the program in anger, but I do intend to evaluate it in the coming weeks.  It is, however, an example of "NOT 30-year-old software".

2461609-0

2461613-1
 

Offline DimitriP

  • Super Contributor
  • ***
  • Posts: 1433
  • Country: us
  • "Best practices" are best not practiced.© Dimitri
Re: DIPTrace and KiCAD
« Reply #15 on: December 15, 2024, 12:21:44 am »
OK, I took a look.
opamps have three sides, not four, and it's all downhill from there.

But we have another thread going for that https://www.eevblog.com/forum/chat/please-rate-my-designschematic-ltrantgt/




   If three 100  Ohm resistors are connected in parallel, and in series with a 200 Ohm resistor, how many resistors do you have? 
 

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #16 on: December 15, 2024, 11:38:45 am »
OK, I took a look.
opamps have three sides, not four, and it's all downhill from there.

Good spot. However, I think you missed my point. You asked to see a not-30-years-old UI, and I showed you one. Personally I vastly prefer it to KiCAD's UI. The fact that the software itself is a bit rubbish is a separate issue.
 

Offline djsb

  • Super Contributor
  • ***
  • Posts: 1021
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #17 on: December 15, 2024, 12:11:36 pm »
Please read this if you want a little more insight (written by a current developer)

https://forum.kicad.info/t/a-brief-ish-history-of-inconsistencies/56172
David
Hertfordshire, UK
University Electronics Technician, London, PIC16/18, CCS PCM C, Arduino UNO, NANO,ESP32, KiCad V8+, Altium Designer 21.4.1, Alibre Design Expert 28 & FreeCAD beginner. LPKF S103,S62 PCB router Operator, Electronics instructor. Credited KiCad French to English translator
 
The following users thanked this post: tooki

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #18 on: December 15, 2024, 07:17:24 pm »
Please read this if you want a little more insight (written by a current developer)

https://forum.kicad.info/t/a-brief-ish-history-of-inconsistencies/56172

I've already read it and think it's a great post. You will see that I've thanked the author for it.

I want to be clear that I'm not having a pop at anyone involved in the development of KiCAD; I'm making a general point that open source software - in my experience and my opinion - almost always has an unpolished UI. The reason being that open source software is almost invariably developed by a small band of volunteers who are really good at developing software, but are not up to full speed on UI design.

That might sound disrespectful, but it isnt; I'm exactly the same. I usually know a good UI when I see it, but I wouldn't know how to create one. (It's a bit like interior design: I love some of the fabulous work they do, but wouldn't have a clue where to start myself.)

UI design is a complicated discipline and skill set, very often done by people who are NOT software geeks. Only companies like Microsoft and Apple can afford to invest in the people and the usability labs required to make a really polished product. It's just not realistic for open source teams to make that investment.

Also, and if I may be so bold, another problem is that some developers think they are good at UI design because they find the program they've developed to be straightforward to use. But of course they would, and it's almost impossible for a developer to see the software through the eyes of a novice user.  I developed a program for my own use in my horological workshop, and tried hard to make the UI clean and easy to use. However, when I offered it to other people they struggled to deal with stuff that I thought was blindingly obvious and right in front of their nose. 😄

So again, absolutely no disrespect; unpolished UIs are normal and one of the downsides of open source, alongside all the obvious benefits.
 

Offline DimitriP

  • Super Contributor
  • ***
  • Posts: 1433
  • Country: us
  • "Best practices" are best not practiced.© Dimitri
Re: DIPTrace and KiCAD
« Reply #19 on: December 15, 2024, 08:13:43 pm »
Quote
Also, and if I may be so bold, another problem is that some developers think they are good at UI design because they find the program they've developed to be straightforward to use. But of course they would, and it's almost impossible for a developer to see the software through the eyes of a novice user.

Quote
So again, absolutely no disrespect; unpolished UIs are normal and one of the downsides of open source, alongside all the obvious benefits. 

I mostly agree ( and I don't do that kind of thing very often - usually it's other people's fault ;) )

I don't believe "unpolished UI" has anyting to do with open source except that there is no one that is afraid of losing their job if they don't do what they are told.  It also depends on what you mean by "unpolished". Windows 8 IMO had a polished UI that most (?) people found horrific.

Software aquires its own personality and  the better it works the more the personality can be either ignored or put aside because "it works". If you can't stand the "personality" AND  you are grinding your teeth every time you use it....i's time to move on, unless someone is paying you for it.

On the schematics/PCB design front, there are people that didn't have a "big" problem with Eagle, until they changed their licensing. Suddenly everyone seems to hate it!
I also have this sneaky feeling that kicad wouldn't be as much of a "success" if it weren't free.

To have pricing, usability and likeability converge into a single piece of software may not be rare, but it's not the norm either.





   If three 100  Ohm resistors are connected in parallel, and in series with a 200 Ohm resistor, how many resistors do you have? 
 

Offline JPortici

  • Super Contributor
  • ***
  • Posts: 3630
  • Country: it
Re: DIPTrace and KiCAD
« Reply #20 on: December 16, 2024, 09:21:22 am »
At first glance DIPTrace bears a remarkable resemblance to KiCAD.  Are they from the same original code base?

no.
diptrace is written in delphi
kicad post V6 had gigantic improvements in workflow, making it more simillar to diptrace.
Diptrace V5 made a lot of long needed improvements that copied kicad, in file format, UI and functionality, to the point i was kind of tempted to renew my old v3 license, but in the end i prefer having a native linux version
 
The following users thanked this post: SteveThackery

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #21 on: December 16, 2024, 10:14:33 am »
Thanks, @JPortici, that's a very interesting insight. (Most of my Windows development is done in Delphi.)
 

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #22 on: December 16, 2024, 10:26:03 am »
Windows 8 IMO had a polished UI that most (?) people found horrific.

Most people are resistant to change. I'm not. I think the W8 UI was very innovative and worked great PROVIDED you used it only with a touch screen. For workstation use with a mouse and keyboard it was a car crash. Every version after that was (is) an ugly, kludgy mix of a touch UI and a WIMP UI. I wish they'd kept them separate, like Apple did.

Sorry, off topic.
 

Offline SteveThackeryTopic starter

  • Super Contributor
  • ***
  • Posts: 1064
  • Country: gb
Re: DIPTrace and KiCAD
« Reply #23 on: December 16, 2024, 11:21:25 am »
OK, I took a look.
opamps have three sides, not four, and it's all downhill from there.

Hey, how did you get those square op-amps? This what I got:

2462861-0
 

Offline Ranayna

  • Super Contributor
  • ***
  • Posts: 1054
  • Country: de
Re: DIPTrace and KiCAD
« Reply #24 on: December 16, 2024, 04:04:44 pm »
Windows 8 IMO had a polished UI that most (?) people found horrific.

Most people are resistant to change. I'm not. I think the W8 UI was very innovative and worked great PROVIDED you used it only with a touch screen. For workstation use with a mouse and keyboard it was a car crash. Every version after that was (is) an ugly, kludgy mix of a touch UI and a WIMP UI. I wish they'd kept them separate, like Apple did.

Sorry, off topic.
So i am not the only one :D Yes, i liked Windows 8 on my original Surface tablet. But MS forced that UI on everything. Even bloody Server 2012 had that touch optimized UI.
The touch UI of Windows 11 is leagues worse than that of Windows 8.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf