Hacker News new | past | comments | ask | show | jobs | submit login
Dash for iOS is now open source (github.com/kapeli)
241 points by internals on Nov 14, 2016 | hide | past | favorite | 93 comments



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


I stopped using Dash long time ago.

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


Spoiler: devdocs.io is another website that tries to be an app and fails.

Dash is basically a simple shell around various HTML docs and still has better UX.


I really like the native Mac app UI of Dash, but devdocs.io's design is so much better.


Is there a way to open devdocs with a shortcut like Dash?


They suggest this plugins (http://devdocs.io/about):

- Chrome web app

- Sublime Text plugin

- Atom plugin

- Brackets extension

- Emacs Package


Can't beat using Alfred to search Dash from anywhere


Yup, just make a custom search for "http://devdocs.io/#q={query}".


Seconded, you can even build your own docs super easily


Needs a PopClip plugin.


PopClip is awesome. Doesn't get enough love on here. It has a lot of parallels to the new Touch Bar, will be cool to see if he can do anything to integrate with it.


It doesn't have Swift or Objective C unless I'm missing it


one of the killer dash features for me is how easy it is to install javadoc/scaladoc/etc documentation for 3rd party libraries


Is there a version that has android & apple ios dev docs?


Not sure about android but in the latest xcode documentation was built in so you can't even add them to dash anymore.


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...


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 ?


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.


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.


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.


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/


> 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.


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.


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


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


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.


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.


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


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.


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.


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.


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.


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).


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.


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.


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.


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.


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


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.


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

https://zealdocs.org/

It's alright.


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.


Zeal can use Dash docsets automatically.


I think it's an apology :)

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


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.


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...


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.


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.


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.


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


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


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.


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.


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.


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


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


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


Why? Dash is still for sale on Mac through the web.


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


Just curious to know, what are the other apps in your toolset?


Nothing on the iPad. I like the second screen for documentation and music.


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...


Nope, it's an offline API docs browser.


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?


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?


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...


“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?


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."


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.


> 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.


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.)


> 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.


He ran his mouth one more time.


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


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).


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


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.


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.


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.


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. :)


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.


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


> So this is the Romanian guy

What relevance does it have that he is Romanian?


[flagged]


Aaah, come on. Putting labels on people based on the country and statistics is a bit stupid. Same as all arabs are terrorists thing.

Yeah sure lots of people from my country ( Bulgaria ) are statistically dodgy, but there are also legitimate ones.

Law says : "Person is innocent, until proven guilty."


[flagged]


Said what?

If I understood your sarcasm correctly, I would assume that according to you statistics describe what people are.

For example. Statistically Sweden right now has the highest amount of rapes in Europe [1]. So it means that most of the Swede are rapist. Hmm.

[1] https://en.wikipedia.org/wiki/Rape_in_Sweden


[flagged]


> And 99% of the Bulgarian visitors to Sweden spend their time sitting on the ground in front of supermarket entrances. So I guess that is what the 99% of people inside Bulgaria do as well?

Wow. I never saw anyone on HN get so low. Ever. In more than 9 years. It appears I was right about you.


Your account is five years old, not nine. Anyway, good night.


My account may be only 5 years old, but I've been here before it was even called hacker news.


Your comments in this thread have broken the HN guidelines. You've been uncivil, inflammatory, and created a flamewar. Please don't do those things again.


What victims were there? My understanding is that there was some game playing with two accounts violating the terms of service. The affected relationship was developer - Apple and Apple has asserted itself here. There was also to the degree I know some misrepresentation of the conflict by the developer.

Afaik. this has not gone to court and both developer and Apple seemed to want to stop talking about it. I believe we should respect this. As we also should respect the nationality and contribution of developers giving away something for free.


Anyone who has used the Apple Appstore is fractionally speaking the loser/victim - he spammed it.

Do you ever wonder what the appstore would be like without spam bullshit? How quality software studios could make money instead of some hack like this buying ratings from a third-party on cookie cutter apps?


For a cookie cutter app, there are zero alternatives with feature parity. It's also notably much, much higher quality than the median app.


> Why is it an issue to mention someone's nationality?

It's not an issue to mention someone's nationality. Intent matters. That is why you don't say "he's just a black murderer from NYC" or "he's just an arab terrorist".

> Do you have perhaps have any pre-conceived ideas around that particular nationality?

No, it seems that you have. What a lame attempt to spin it around. Funny how you edited your post after people called foul, this is your original post: http://i.imgur.com/HaejrYq.png. This link you posted is amusing: http://blog.siftscience.com/2013/global-e-commerce-fraud. Those American scammers!


Yes, it's such a surprise that there would be scamming going around inside the US.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: