Settings

Theme

Dash for iOS is now open source

github.com

241 points by internals 9 years ago · 98 comments

Reader

mthoms 9 years ago

Relevant HN threads:

Apple Has Removed Dash from the App Store: https://news.ycombinator.com/item?id=12646919

Apple Responds to Dash Controversy: https://news.ycombinator.com/item?id=12680131

nkjoep 9 years ago

I stopped using Dash long time ago.

http://devdocs.io/ is enough for me.

hs86 9 years ago

I am not the author but here is a similar app for Android users. Previously it was a paid app but now it is free.

https://play.google.com/store/apps/details?id=com.lovelyhq.a...

  • on_and_off 9 years ago

    I have already tried this kind of app and I feel a bit stupid : I don't understand the use case.

    In which situation do people read documentation on their phone ?

    • egwynn 9 years ago

      It's not well documented online, but if you use Dash on Mac, then you can set up an iOS device as a 'Remote', which lets you use your phone/tablet as a second screen for documentation, which you control from your Mac. I think that's the primary usage scenario.

      • on_and_off 9 years ago

        ahhh I see, thank you !

        It makes sense that way.. I was wondering why would anybody really need that much to look at documentation while on the go.

    • dunham 9 years ago

      I occasionally use it on my iPad as an extra screen. It's also useful while on a plane. The desktop version if coding, or iPad if I just want to browse docs to learn a new API or something.

      But, to be honest, I rarely use the iOS version.

kmf 9 years ago

Pretty interesting - on the Dash blog in October[1], the developer said that open-source wouldn't be a great option because compiling iOS apps is difficult for most non-iOS developers.

It's a shame, IMO, that iOS apps only have two wide-distribution models: paid, with Apple, on the App Store, or open-source and, by that nature, free. There's a lot of really great software on OS X that is distributed outside the Mac App Store. Clearly there's no plan for something similar to that on iOS.

https://blog.kapeli.com/dear-dash-users/

  • diggan 9 years ago

    > that iOS apps only have two wide-distribution models: paid, with Apple, on the App Store, or open-source and, by that nature, free.

    Please correct me if I'm wrong but I don't think that's true. Just because it's open source doesn't mean it's free, it just means that technical users could, if wanted, compile it from source. But, especially with iOS apps, this is not even true since you do need to have a developer license and a Mac to be able to compile and run it on an actual iPhone.

    So in reality, while this is open source, only developers who pay Apple, are able to install this application, even if it's open source.

    • cocktailpeanuts 9 years ago

      Here's the correction you asked for :)

      You don't need developer account to build XCode projects on your phone anymore, you can just sign in with your Apple account and sideload it.

      • sushid 9 years ago

        And resign it on your computer every 7 days? Not exactly a walk in the park.

        • houli 9 years ago

          From my experience apps only need to be re-signed once every 90 days. Not quite as much of a hassle but still one nonetheless

          • rahimnathwani 9 years ago

            It used to be 90 days, but AFAIK it's now 7 days if you don't have a paid subscription (1 year if you do). Also there's a 10-app limit.

            I discovered this recently as I wanted to install Kodi on my iPad. I'm not an iOS developer, and can't bring myself to pay an annual subscription just so I can install open source software on my own device.

        • cocktailpeanuts 9 years ago

          Maybe I'm missing something but what do you mean? As far as I know you don't have any restriction. The only restriction is that you can't submit the result to the app store.

    • fred256 9 years ago

      Even without a paid developer membership, you can install apps on your own devices, just not distribute them.

    • kmf 9 years ago

      Yep, this is true. I should have been clear: two PROFITABLE distribution models.

      There's always been apps on GitHub that you could compile and run on your device.

      If you're looking to make an app your livelihood and Apple won't let you into the App Store (or, in this case, kicks out out), you're SOL.

      • err4nt 9 years ago

        You could develop a subscription based service and distribute a client for it, this model would let you collect money from users on your website and allow open source and free mobile apps.

        Netflix, Evernote, Skype, Spotify all make money and have mobile apps, but make $0 on the apps themselves.

  • LukaD 9 years ago

    And for non mac users compiling iOS is not only difficult but also impossible without going through the pain of setting up a macOS vm. I guess I won't be updating dash on my iPhone anytime soon.

  • petercooper 9 years ago

    Doesn't this give the option for someone else to package it together, give it a new name, and then offer it for free on the App Store? If so, that could be a way around.

    • icebraining 9 years ago

      No, because you can't distribute GPLv3 licensed apps on the iOS App Store (the Store imposes restrictions that the GPL doesn't let you impose).

      • captainmuon 9 years ago

        This I never understood, GPL doesn't allow you to impose the restrictions the app store requires, right?

        Can't you just supply every user with a second copy of the software, which they are allowed to use under the GPL freedoms?

        Specifically, you get one copy from the app store that is restricted by Apple's license. You cannot install it on other devices, it doesn't give you the right to the source code, etc.. Apple is satisfied.

        Then you get another copy from the developer. It is compiled, but unsigned. You also get the source. You are free to install it on other devices [1]. GPL is satisfied because the person who recieved the first binary gets a binary they can run, and redistribute (although it is cumbersome and they have to sign it etc. to install - but again [1]). They also get the source.

        Wouldn't this work?

        [1] If this other devices allows it technically and legally - this restriction always applies. This is also the case if you have a GPL application that needs features from Windows Professional, but you only have a Home license. That doesn't mean you can't distribute the app under GPL.

        • icebraining 9 years ago

          You can do that if you're the copyright owner of all the code (or have some kind of CLA granting your licensing rights). Then you can distribute the app under one license on the App Store and under the GPL somewhere else.

          But if you're the "someone else" who just got the code with the GPL license from the original devs, you can't redistribute it under any other license, hence the impossibility of putting it on the App Store.

          • captainmuon 9 years ago

            Thats not what I mean. You are not the copyright owner, you take it (under GPL terms) and upload it to the App store. The uploaded version is restricted, as per Apples terms. Users do not yet have the rights you need to grant them according to the GPL. You fulfill your obligations, granting these rights, in the next step.

            Then, outside of the App store, you give everybody an additional copy. The GPL is satisfied, since the user gets to distribute the binary, and gets the source.

            You are not distributing it separately under two licenses, but at the same time over two channels.

            It's like you have a locked-down computer in a high security room, and I want to send you a program. "A" enforces the security of the room and while you can download stuff to the computer, you can't copy stuff from it. "G" supplies the software to me, and says I can give it to other people, as long as I allow them to have the source and pass it on under the same terms. I would say you can satisfy both at the same time by giving the customer an additional copy at the same instant, say on a USB drive.

            • icebraining 9 years ago

              Ah, well, with the huge caveat that IANAL, I don't think that can work here. Maybe if the only right was the access and distribution of the source, but one of the GPL Four Freedoms is "The freedom to run the program as you wish, for any purpose", and the App Store terms restrict that.

  • mahyarm 9 years ago

    I guess a brew cask package might be able to make it easy, along with ios-deploy

joeblau 9 years ago

I applaud him for doing this. I'm sure he's spent a lot of time building this product and to open source it is pretty awesome. I've seen lots of other products I like just disappear after they are taken down.

fnord123 9 years ago

A similar program on Linux (or, I guess many platforms) is Zeal:

https://zealdocs.org/

It's alright.

  • voltagex_ 9 years ago

    I've used it on Windows - unfortunately it created so many files in one structure I was unable to remove the folder with Windows Explorer.

  • partycoder 9 years ago

    Zeal can use Dash docsets automatically.

wkoszek 9 years ago

I think it's an apology :)

Regardless, I've happily paid for it and I'm a user.

ihuman 9 years ago

I'm happy to see that he was able to make it open source and under GPL3. I wonder if the developer will be responding to issues and pull requests, since those are open for this repo.

rsfinn 9 years ago

Oh, lord, I hate to be That Guy, but it looks like Bogdan has included an older version of Gus Mueller's FMDB library <https://github.com/ccgus/fmdb> but has failed to include a copy of the MIT License that governs them. Probably just an oversight, but...

hobarrera 9 years ago

I'd never seen this before, but it sounds a lot like `zeal`, the desktop app https://zealdocs.org/

Upside of Zeal, is that desktop is usually more comfortable for developers.

wineisfine 9 years ago

Nice that he did opensourced it.

I personally never understood why this tool was so popular to start off with though. I often found myself using the original doc sites instead.

  • Aldo_MX 9 years ago

    When you have a fast and stable internet connection you hardly appreciate how useful it is to read offline docs.

    When you don't, it is a godsend.

    • girvo 9 years ago

      Definitely. When I got the train from the Gold Coast to Brisbane (1 hour, with really spotty phone coverage) it was my life-saver!

    • ddrmaxgt37 9 years ago

      this. I use it on the airplane with some libraries that have online only docs

  • AsyncAwait 9 years ago

    If you work with more than one language, going to all the sites constantly may be a problem.

    Also, dash let you search for i.e. the class and then within the class public interface with just a spacebar.

    Plus, it is a native app that you can launch quickly without having to search for the particular browser tab where you current docs is open.

  • vr46 9 years ago

    Offline mode for me, mainly, but that also makes reading documentation for the sake of it more enjoyable and practical. I'd casually flip through classes and methods just because they were easy to get to.

  • alexpersian 9 years ago

    It's enormously useful to have all your documentation available in a single place. Along with that, the sidebar makes finding relevant methods and properties very easy.

  • ssalazar 9 years ago

    Loads instantly, + for Mac/iOS docs it is way more stable and usable than Xcode's docs browser.

gigatexal 9 years ago

Really unfortunate Apple got rid of such a useful app. Oh well it was saved by open source.

fbnlsr 9 years ago

Does that mean that we could see an open source free alternative for MacOS too?

duaneb 9 years ago

Thank you. I've been missing this from my toolset after paying for it.

urza 9 years ago

This is not related to Dash cryptocurrency I suppose?

https://www.dash.org/

Dash (the cryptocurrency) has an iOS app, that has not been approved by Apple[1].. I wonder if it is related because of the name.

1: https://dashpay.atlassian.net/wiki/display/DOC/Download+-+In...

johansch 9 years ago

So this is the Romanian guy who was called out for blaming his "family member" for spamming the app store with paid ratings of his apps, while using his bank account for the Apple Developer connection? ... All after pretending to be innocent and causing many, many developers to rally for him, without knowing he manipulated them?

How about we just ignore him and don't continue to reward him with attention?

  • flixic 9 years ago

    Let's not judge so quickly and surely. There are still many things we don't know, and we have heard a story from him that makes sense, and I find plausible.

    What if he really is mostly innocent? More importantly, Dash app is still great, probably the best for documentation browsing, and now iOS counterpart is restored in some way. Isn't it a great move from his side, considering the circumstances? Shouldn't we celebrate his efforts instead of blaming him?

    • anthonybsd 9 years ago

      Actually after a little digging it turned out that Kapeli was a shovelware writer who's gone legit. The whole "relative" thing was fully made up:

      http://forums.macrumors.com/threads/apple-says-1-000-fraudul...

      • mietek 9 years ago

        “moveAddict … provides a functionality the Finder was missing, the ability to move files using the keyboard. It’s meant to replace dragging and dropping for anyone that would rather use the keyboard instead of the mouse.”

        “Switché … can be used to switch between applications or individual windows, ordered by last use. Switché uses CoverFlow to display previews in a visually appealing way. It helps you easily find the window or application you are looking for.”

        “DockView … extends Apple’s Dock and shows window previews whenever you hover your mouse over an application or while using CMD+Tab. It helps you visualize the windows you currently have open and easily find the window you are looking for.”

        “iGuard … protects your Mac by keeping an eye on the currently logged in users. Even though Mac OS X is already protected from most threats, iGuard adds an extra layer of security and will protect you from hackers that could gain remote access to your Mac.”

        While these may not be the most useful programs in the world, there doesn’t seem to be anything illegitimate about them; in particular, they are neither adware nor malware.

        It also doesn’t seem fair to label these programs “shovelware”, which is apparently a term that describes “large amounts of public domain, open source and shareware demos and programs … copied onto CD-ROMs and advertised in magazines or sold at computer flea markets”.

        Why would Popescu need to escape his dark and terrible past of writing mildly useful programs?

      • johansch 9 years ago

        Let my copy-paste it for convience:

        "Gather round, folks, let me tell you a story.

        So 5 or 6 years ago, this guy named Bogdan Popescu starts a company called Kapeli and writes a bunch of Shovelware. Puts out a bunch of PR for crap like MoveAddict. http://www.macworld.co.uk/opinion/apple/press-release-mac-os...

        http://imgur.com/C2vjkig

        All of this is featured on his website, kapeli.com. There in the header...moveAddict, iGuard…and something called ‘Dash’. https://web.archive.org/web/20120409173750/http://kapeli.com...

        http://imgur.com/W94bGnl

        {edit: Even his old Twitter posts confirm this. https://twitter.com/kapeli/status/24561715939

        http://imgur.com/qYSESjl }

        Over time, Dash explodes in popularity. It fills a niche and is actually legitimately useful. He “goes legit”, creates a new dev account tied to the same com.kapeli bundle identifier. Suddenly — publically, to those who can’t see his bundle identifiers — it’s the only app he makes! https://webcache.googleusercontent.com/search?q=cache:qoxumm...

        But what to do with all the other shovelware though? Not to worry, it can stay on the other account. Spam some reviews, get some idiots to buy it, easy beer money on the side. Let’s just change the author to “Mihaela” instead.

        https://webcache.googleusercontent.com/search?q=cache:TO_CAd...

        https://i.imgur.com/m70tauN.png (There's our good friends, moveAddict and iGuard!)

        During a routine Apple account transfer…he gets caught.

        All of a sudden he cries foul. There WAS a second account, but it’s not his! It’s a female family member’s. It was some account that he had nothing to do with. He forgot about it! It’s ancient history!

        …it just houses literally everything the guy previously created that isn’t Dash. Including apps such as moveAddict and iGuard previously prominently featured on the dude’s website and PR spam. In his name.

        Now both Apple and Popescu are in agreement — there are only two accounts with his com.kapeli bundle identifier. Apple says they are both his. He claims he only has one, and a relative has one. So why are his apps on both accounts, his and Mihaelas?

        Did he gift the entire source code and ongoing revenue of these apps to this 'family member' as well? What a great guy! Still it sounds like something that might be worth mentioning during this whole mixup, either to his faithful blog readers or Apple. It might have cleared things up rather quickly.

        Despite the fact that his whole story falls apart on scrutiny, Apple bend over backwards and will reinstate his account if he admits some wrongdoing. Stubborn dude refuses to budge, posts illegally obtained phone calls…

        …and yet people still criticise Apple and believe this guy."

    • sxg 9 years ago

      He recorded and released a phone conversation with an Apple representative that confirms a lot of the details of this story. Sure not everything is clear, but if I'm remembering right, the phone call confirmed that Kapeli and his family member used the same distribution account, and that the family member bought fake app reviews. Apple banned the whole account because of the fake app reviews, but they did give Kapeli recourse and offered to reinstate his app if he publicly apologized and cleared up the issue. Kapeli decided not to do that and released the private phone call with the Apple representative instead. I'm pretty sure that killed any chance of Dash getting back on the app store.

      • pkamb 9 years ago

        > Kapeli decided not to [publicly apologize and clear up the issue] and released the private phone call with the Apple representative instead.

        Kapeli wrote the blog post Apple requested and sent it in for review. https://kapeli.com/apple_draft

        Apple never got back to him, and instead went to the press with statements that did not mention any of the circumstances, making clear that this was their final statement on the matter. Only then did Kapeli come out with his side of the story and the recorded phone call.

        • johansch 9 years ago

          That is not an excuse. I can understand why Apple went forward, even after bending backwards to work with him.

          (And I'm really not an Apple apologist; please do checkout my post history if you're so inclined.)

          • AsyncAwait 9 years ago

            > That is not an excuse. I can understand why Apple went forward,

            Mind explaining it to us, I don't understand Apple's reasoning here after they said to him to send them the blog post.

            • _pr 9 years ago

              He ran his mouth one more time.

              • AsyncAwait 9 years ago

                Between sending out the blog post draft and Apple speaking to the press? Can you link me to that please, just curious.

    • ClassyJacket 9 years ago

      More to the point, shouldn't it be up to us if we want to install the app or not, not just Apple? They can kick him out of the store, of course, but we should still be able to side load (without this open source compiling manually method).

      If Android had a phone and watch small enough for me I'd love to change over, but their devices are all for giants (and have no fitness features and not enough privacy features).

  • maglavaitss 9 years ago

    Yeah, the guy's a fraud, just don't give him any attention.

    • misnome 9 years ago

      If the app is functional and actually useful... which seemed to be the case when the whole furore came up, I'm not sure what past activity/scamming of apple reviews has to do with anything.

      He got taken off the app store for those activities, doesn't change the fact that a lot of people find it useful.

    • purple-dragon 9 years ago

      Despite his past actions, isn't releasing this as an open source project ultimately a generous act? Many people have paid for this product in the past—ergo it has value—and now, it is free for use and modification.

      • johansch 9 years ago

        He's not able to sell it now, so it is essentially worthless. He is now trying to salvage his brand/reputation by this "noble" act. I say we should have longer memory than goldfish when it comes to issues like these.

        • fnord123 9 years ago

          He also used GPLv3 which Apple hates. They even stick with a ridiculously old version of bash (3.2.57 from 2007!) since it had since began using GPLv3 in subsequent versions.

          It's the details that matter. :)

        • purple-dragon 9 years ago

          Yeah, I'm not suggesting he's a saint or deserves a parade, but I am happy to have another real-world, full-wrap iOS project to review (whether it's well written or not, I don't know) or repurpose.

          Edit: My point is: you say that it's worthless, and perhaps it is now to him, but not necessarily to others.

    • duaneb 9 years ago

      For a fraud, I can actually use the app I paid for. Who cares about the author? This is a net win for everyone.

  • 4ad 9 years ago

    > So this is the Romanian guy

    What relevance does it have that he is Romanian?

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection