Talk:AppCode

Latest comment: 2 years ago by Z1720 in topic Edit Request

Edit Request edit

I'd like to suggest the following changes:

  • Version block on the top-right:
    • Stable release: 2020.3 (build 203.5981.213), December, 10, 2020;
    • I'd remove the "Preview release" part because it changes frequently (each week during the EAP (Early Access Preview) period) and is hard to maintain. Probably, it makes sense to replace the concrete build name with just a general link to the webpage where all such EAP builds are published. Note that this page is available only during the EAP cycle, for now it leads to What's New page as EAP cycle is closed until 2021.1 release cycle.
  • Description on the page right under the title:
    • for Swift, Objective-C,[5][6] C, C++, and JavaScript development -> for Swift, Objective-C,[5][6] C, and C++. JavaScript is not the primary language in the IDE and it does not makes sense to mention it in the first place. Main languages are Swift, Objective-C, C, and C++. Possible 3rd-party sources that prove that C++ support exists:

Also, I can't prove it by some 3rd-party source, but there is a fact: CLion that is an IDE for C++ that is proved by 3rd-party sources has all its C/C++ support from AppCode initially. So, AppCode was the first of JB IDEs with C++ support, next the same team started to work on CLion, shared C++ support between 2 IDEs and continued to improve it simultaneously in both (because we just share the same code part for AppCode and CLion for C/C++). It's also visible even from sample release notes for the specific build - there are tickets from CPP tracker included and though it's our source, that's a public tracker where it's almost impossible to fake specific feature included because of the amount of software developers tracking various tickets.

  • Key features section:
    • Unit testing support: OCUnit, Kiwi, Google Test, XCTest. -> Unit testing support: XCTest, Quick, Kiwi, Catch, Boost.Test, and Google Test. This change a) removes obsolete OCUnit b) changes the order from the most important (Objective-C/Swift frameworks) to less important (C/C++ frameworks).
  • Licensing and updates policy - change content to the following:
    • In November 2015 JetBrains switched to licensing AppCode and other IDEs on a subscription basis (1, 2). Annual subscriptions or monthly subscriptions maintained for 12 consecutive months also receive a "perpetual fallback license" to the major version available at the time of purchase (1, 2). AppCode is available for individual developers, and business and organizations (source that mentions license separation: individual and companies/organizations). Additional discounted and complementary licenses are available for students (1, 2, 3, 4, 5, 6) and non-commercial open source projects (1,2, 3, 4, 5, 6, 7). These complementary licenses require approval and do not include the perpetual fallback clause, i.e. they expire (1 - mentions that OSS license has no fallback and needs to be extended each year, 2 - mentions that student license is valid for one year only).

This statement is taken from already approved changes on PhpStorm page as these rules are the same for all IDEs. The current content is obsolete because of the changes in licensing model.

  • History block (copy-paste part to add):

The idea for AppCode first surfaced in 2008. By 2009, the first version of the Objective-C parser had been created internally at JetBrains.

The first preview version of AppCode was published in April 2011[1]. AppCode 1.0, the first public release, was introduced on October 25, 2011[2], with support for Objective-C (including features such as code assistance, formatting, refactoring, navigation, quick-fixes, etc.), code generation actions, import optimization, an integrated debugger for GDB and LLDB, a visual test runner for OCUnit, and VCS integration.

AppCode 2.5 introduced an integrated CocoaPods manager[3] and GTest support.

AppCode 3.0 added initial UI designer integration together with the Reveal plugin[4] in May 2014. The UI designer integration was discontinued shortly thereafter for lack of resources in order to support frequent updates.

Basic Swift support first appeared in AppCode 3.0.1[5] in June 2014, soon after Swift was released by Apple. Further versions of the IDE were mostly focused on supporting changes in the Swift language.

In April 2015, CLion was released using AppCode C/C++ support as the basis for this new IDE[6].

In December 2015, soon after Apple open-sourced the Swift language, core Swift support based on AppCode was added to the plugin for CLion to allow for Swift development on Linux[7]. This initial implementation used CMake as a project model. In October 2018, the plugin was updated to support the project model based on the Swift Package Manager manifest[8].

References

  1. ^ Hunger, Michael. "JetBrains announced AppCode (CIDR) EAP - an Objective-C IDE for Mac and iOS development". InfoQ.
  2. ^ "JetBrains Sets a New Standard for iOS and Mac OS Development, Introduces AppCode". e-ChannelNews.
  3. ^ Armstrong, Alex. "AppCode 2.5 Includes More Code Generation Options". I Programmer.
  4. ^ Armstrong, Alex. "AppCode 3.0". I Programmer.
  5. ^ McComb, Matt. "JetBrains Releases AppCode 3.1 Preview with Improved Swift Support". InfoQ.
  6. ^ "JetBrains Way to C++: The Inside Story of Our Journey". JetBrains Blog.
  7. ^ De Simone, Sergio. "JetBrains CLion Adds Support for Swift on Linux and OS X". InfoQ.
  8. ^ "Swift Package Manager support in CLion | The AppCode Blog". JetBrains Blog.

I work for JetBrains in AppCode team and would like to disclose my relationship to JetBrains in the interests of transparency. While I do not intend to directly edit affiliated articles, I am happy to act as a resource for the editing community by providing factual, non advertorial information and accompanying third-party citations. Sdombrovsky (talk) 19:57, 11 December 2020 (UTC)Reply

Hi @Sdombrovsky: thanks for declaring your paid editing status. If you have not read it yet, please read Wikipedia's Conflict of Interest guideline. I put a declaration template at the top of this page to make future declarations eaiser for you. An editor will reply to this request at a later date. If you have any questions or concerns, please post below or at the help desk. Happy editing! Z1720 (talk) 21:59, 11 December 2020 (UTC)Reply
Hey Sdombrovsky,
I can tackle these. In the future, would help to highlight which section each line or change is in.
  • Stable Release change works. I don't think it really needs a source
  • I'll look at precedent here, but removing Preview makes sense to me.
  • I'm good with removing JS, especially since its not supported by third-party sources--but I think we need to find a third-party source for C++, or I'll likely have to remove both.
  • We can't (or shouldn't) just copy content from another page. And even though that content is live on that other page, it is unsourced. Can you find a source and rewrite originally?
I cleaned up your request code a bit. I hope you are OK with that.
Thanks,
--FeldBum (talk) 01:32, 14 December 2020 (UTC)Reply
Hi FeldBum. Sorry for not mentioning the section - my fault, it's my first edit request here on Wikipedia. I've performed the first round of fixing the edit request, mentioned all sections (not sure it's all correct, but I've tried my best) and also added sources for C++ (again, not perfect, but that's all I found). Regarding the licensing part and sources: am I right that here we also need 3rd party sources? Or pointing to some official documents / pages (like this) from JetBrains would be enough?
Sdombrovsky (talk) 08:11, 14 December 2020 (UTC)Reply
Thanks, Sdombrovsky. I'll dig in a bit, but that should work for C++. Let me do a bit of research about the licensing. --FeldBum (talk) 14:28, 14 December 2020 (UTC)Reply
Ping Sdombrovsky
Made changes 1 and 2. The C++ ref looked good. I changed to December 9th, since that's what https://www.jetbrains.com/objc/download/ says, not December 10th. If you have a source that disagrees, let me know and ping me.
Still looking at 3 and 4. We need a third-party source, so JetBrains in not good enough. We also need a source for feature changes. To be honest, a list of feature requests is not great (see WP:PROMOTION), so we you really need to back up these changes with sources. Changing an order to something you prefer just isn't enough. We need citations.
I don't mind being bugged, so ping me if you find something better or are worried I forgot about you.
This article still needs A LOT of work. Consider some changes that tell the history of AppCode instead of just a list of features. As is stands, the notability is in jeopardy and the articles relies way to heavily on Primary Sources
--FeldBum (talk) 16:42, 15 December 2020 (UTC)Reply
I totally understand all you reasons and do not object here. Though, for me https://www.jetbrains.com/objc/download/ shows December, 10th (also, the blog announcement https://blog.jetbrains.com/objc/2020/12/appcode-2020-3-is-here/ was from December, 10th). Just mentioning because it's me who published the build. I'll back when I find more reliable sources for your other points. And thank you for editing!
Sdombrovsky (talk) 04:17, 16 December 2020 (UTC)Reply
About changes related to the "Key features" section, specifically to the test support:
  • OCUnit needs to be removed because it's deprecated a long time ago (and it's successor is XCTest that is already mentioned), sources: 1, 2
  • XCTest existence/support: 1, 2
  • Google Test support: 1
  • Kiwi support: 1
I cannot find any 3rd-party sources for Quick, Boost or Catch support, so I'm fine with not adding them. In fact, my initial intention was to remove OCUnit.
About changes to the "Licensing and upgrades policy". In fact, my main intention here is to remove the current section content that is obsolete (source). I think it's not possible to find any 3rd-party comparisons of the licensing options that will be reliable or won't just repeat the primary source. So, here it would be great to just remove this section - I do not think it's really valuable for the Wikipedia reader.
About the history. I thought about it a lot, but there is a problem: we are the only source of this history. It's either our blog posts or our release notes and I see no way for them to be accepted, as it's primary source again. Some interesting internal information also cannot be shared, because again we are the only source (even not because we don't want to share it, we actually do). So, not sure how to solve it.
Sdombrovsky (talk) 06:02, 16 December 2020 (UTC)Reply
Hey Sdombrovsky,
Made the testing change that you could support with sources.
We can remove the licensing section, but we'll get the page down close to a stub. Try once more to find a source.
I'll see what I can find for history. No press around JetBrains launching AppCode?
Ping me when you find something using {{u|FeldBum}}
----FeldBum (talk) 05:45, 17 December 2020 (UTC)Reply
Hi FeldBum
I've added a bunch for sources for the licensing section in the initial request text (here I do not mean that all of them are needed; it's still hard for me to justify if some of them will be considered as reliable, so I've added as much as I could). I removed mentioning of startups discount (no reliable 3rd-party source). History part is still in progress, I'll ping you later about it.
Sdombrovsky (talk) 10:11, 21 December 2020 (UTC)Reply
Hi FeldBum
I finished the history part. There is only one link to our sources, though I think it's ok to have when we talk about the actual history of the product and internal company knowledge.
Sdombrovsky (talk) 11:51, 28 December 2020 (UTC)Reply
Thanks Sdombrovsky, taking a look today. --FeldBum (talk) 18:02, 28 December 2020 (UTC)Reply
Hi FeldBum, friendly ping.
Sdombrovsky (talk) 12:01, 27 January 2021 (UTC)Reply
Thanks for the ping Sdombrovsky. Been on a short staycation and trying to limit my time in front of the computer, but should get to it soon. Feel free to bug me if I don't. --FeldBum (talk) 01:30, 29 January 2021 (UTC)Reply
Hi FeldBum, friendly ping again. I need some direction for going further. Converted the "History" part to copy-paste block (at least I tried to do so). Need to have some final decision about blog links in this context. Same for Licensing section - I need to understand if we need to remove it based on the suggestion below. If not, I will convert it to another copy-paste block to help with editing. If yes, let's just drop it.
Sdombrovsky (talk) 12:59, 29 March 2021 (UTC)Reply
  • Version Block: Support: Like with most infobox items, I would prefer the proposer keep this information up-to-date as a non-controversial edit they can make themselves without asking permission.
  • Description under title: This appears to have been done already
  • Key Features Section: Counterproposal: Delete this bullet, as it is cited to a flood of personal blogs and no better citations were proposed.
  • Licensing and updates policy: Counterproposal: Delete this content per WP:NOPRICE. Wikipedia doesn't ordinarily cover pricing details, as this is seen as more relevant for a shopping catalogue than an encyclopedia.
  • History: Support with modifications: This is a good start. I suggest asking the proposer to create a paragraph version that is ready to copy/paste into the page, after going through it and removing content cited to personal blogs.

I have no connection to the article-subject. CorporateM (Talk) 13:06, 15 February 2021 (UTC)Reply

I echo CorporateM’s suggestions. I won’t go and remove the Features or the Licensing sections, in order not to completely cripple the article down to a stub. All the original author has to do is find non-blog sources for his citations, and we’re good to go. So Sdombrovsky, the ball is on your side of the court. Find a replacement for the Trifork and the JetBrains blog references. Ferkijel (talk) 12:45, 30 March 2021 (UTC)Reply
I removed Trifork source, because in fact it's an artefact from the editing process - all features mentioned are covered directly or indirectly by other sources. First part comes from the e-ChannelNews (2), second one from the I-Programmer (3). There is a part that mentions features already existing in the project at the moment when CocoaPods was introduced, so as I understand that's ok. The problem comes with two JetBrains blog references. First one is a piece of internal company history, there is no other way to find it anywhere. But that's an important part I'd like to keep. Second one is an announcement from the company about a specific change. Though I do understand the concept of reliable sources, I think, the first IDE for Swift on Linux and - now - Windows - deserves some exception. Another question is - how this https://en.wikipedia.org/wiki/Xcode article can use pure release notes for describing the product history? Is there such a rule applied to software products, or it's a clear violation (because, yes, Wiki itself is not a reliable source and I guess cannot be used as a precedent). I'm asking because the ability to use product release notes in the same way, as, say, technical datasheets are used for processors (though with the same problems if we talk about the formal source reliability, if I'm not mistaken), will greatly simplify the process of proving things like "we have code completion", without which none of the developers will download it ever. Sdombrovsky (talk) 11:54, 2 April 2021 (UTC)Reply
I'm cool with making the version updates non-controversial and just let Sdombrovsky handle those changes. But, Sdombrovsky, you still need good sources even if other pages don't have them; multiple wrongs don't make a right here. I'll also take a first stab at getting a history section in. --FeldBum (talk) 15:52, 15 April 2021 (UTC)Reply
Good or bad depends on the context of the subject we discuss, even if we discuss primary sources. I'd never raised the topic about release notes, but when I see Xcode, Visual Studio, Visual Studio Code, NetBeans, Qt Creator, Android Studio, Eclipse (software), Atom (text editor), KDevelop, MonoDevelop, Sublime Text, and the total most of Comparison of integrated development environments using release notes and their technical documentation for proving that they have a specific feature, I think in the case of the IDE such a primary source is not a single exception, not multiple wrongs, because there are too many wrongs of this type for this concrete subject. It looks more like a common practice for the specific pure technical area that - in this case of such many articles - should fall under some concrete exception. I'd like to understand, which concrete rules allow or disallow such a practice in this concrete technical area. Sdombrovsky (talk) 16:51, 15 April 2021 (UTC)Reply

I am closing this request as it has been over two months since there has been an edit or update. The requester can open a new edit request if anything was not implemented in the request. Z1720 (talk) 21:23, 29 June 2021 (UTC)Reply