Live data from Hacker News

Amadine – Vector graphics software for Mac

amadine.com

21–30 of 92 posts

Re: Amadine – Vector graphics software for Mac

#21
Am curious why some vector rendering products (Amadine, OmniGraffle, Paper 53 etc) end up being Mac / iOS only? Are there some APIs that are Mac only? Why would devs who take an effort to write such a substantial app not ifdef away the rendering bits to make the app work on Windows.

Re: Amadine – Vector graphics software for Mac

#23
post #21

Am curious why some vector rendering products (Amadine, OmniGraffle, Paper 53 etc) end up being Mac / iOS only? Are there some APIs that are Mac only? Why would devs who take an effort to write such a substantial app not ifdef away the rendering bits to make the app work on Windows.

Well, if it's Mac-native, it's likely made using ObjC or Swift with Cocoa. Porting this to Win32 would be a very substantial amount of work -- right of the top, you wouldn't be able to use Swift -- and that's work that's likely not worth it if 90%+ of your customer base are Mac users.

Re: Amadine – Vector graphics software for Mac

#24
post #21

Am curious why some vector rendering products (Amadine, OmniGraffle, Paper 53 etc) end up being Mac / iOS only? Are there some APIs that are Mac only? Why would devs who take an effort to write such a substantial app not ifdef away the rendering bits to make the app work on Windows.

The entire UI is OS-specific. If this was a matter of #ifdefs, we wouldn't have 50 page weekly discussions on the merits of various cross-platform technologies.

Re: Amadine – Vector graphics software for Mac

#27
post #21

Am curious why some vector rendering products (Amadine, OmniGraffle, Paper 53 etc) end up being Mac / iOS only? Are there some APIs that are Mac only? Why would devs who take an effort to write such a substantial app not ifdef away the rendering bits to make the app work on Windows.

Cocoa provides exceptionally good graphics APIs that make it surprisingly fast and easy to churn out powerful graphic editing apps. Nothing else quite compares. The closest would probably be Skia or Cairo, neither of which is as easy to work with or does as much out of the box.

Re: Amadine – Vector graphics software for Mac

#28
post #21

Am curious why some vector rendering products (Amadine, OmniGraffle, Paper 53 etc) end up being Mac / iOS only? Are there some APIs that are Mac only? Why would devs who take an effort to write such a substantial app not ifdef away the rendering bits to make the app work on Windows.

Because Mac applications are more than just rendering APIs, its about the windows, menus, controls, and a complete cohesive UI that works like all the user's other applications. As a Mac user I'll always pick a Mac only app over any cross-platform app.

The second reason is that Mac users pay for software. You can sustain a business as an independent software vendor by targeting only Mac users. Linux users tend to want all free & open source software. Windows users tend to steal apps. A disproportionate number of Windows users I know are happy to steal all their commercial software—I'm not just talking about students and economically disadvantaged people, I'm talking about 6-figure salary software developers.

By building a cross-platform app you will decrease the amount of paying Mac users while increasing the number of Windows users willing to steal from you. The amount of work required to support Windows and all the missed Mac sales may not be worth the effort.

Re: Amadine – Vector graphics software for Mac

#30
post #24
post #21

Am curious why some vector rendering products (Amadine, OmniGraffle, Paper 53 etc) end up being Mac / iOS only? Are there some APIs that are Mac only? Why would devs who take an effort to write such a substantial app not ifdef away the rendering bits to make the app work on Windows.

The entire UI is OS-specific. If this was a matter of #ifdefs, we wouldn't have 50 page weekly discussions on the merits of various cross-platform technologies.

Ive been surprised because in codebases I have worked on, you usually have an abstract rendering api at the bottom with multiple implementations for each platform. Ive been curious why you couldnt abstract out things like window creation, layout, rendering and implement the abstract api for multiple platforms.
Post reply on HN