Live data from Hacker News

Open sourcing our Android and iOS apps

kickstarter.engineering

31–40 of 74 posts

Re: Open sourcing our Android and iOS apps

#31
post #30

Kudos to them. Compared to the web it's rather cumbersome to poke into packaged and released mobile apps, so I really appreciate access to the source of a real world app for learning and comparison. The Android codebase looks very modern and well structured. I think it makes great use of many of the goodies (gradle, rxjava, retrofit, dagger, android support lib, ...) and learnings (bring your own MV*; use Fragments w…

And actual tests for the Android app! It's a rarity, and especially annoying since the "sample" apps that Google provides pretends that testing doesn't exist.

Agreed! But some great companies has been Open Source'ing their Android applications for a while. I.e. DuckDuckGo's app (https://github.com/duckduckgo/android) and the Forcastie weather app (https://github.com/martykan/forecastie). They are great references!

Re: Open sourcing our Android and iOS apps

#32

Last year when I was working on a startup's mobile app for Android, it was almost impossible to find good quality code that was open sourced. I am really happy that Kickstarter has released their android app as open source - would definitely be a great learning experience!

There are quite a few "sample" open source projects that demonstrate best practices and various Android architectures. However, they are not fully fledged production applications like the Kickstarter app.

Re: Open sourcing our Android and iOS apps

#33

Last year when I was working on a startup's mobile app for Android, it was almost impossible to find good quality code that was open sourced. I am really happy that Kickstarter has released their android app as open source - would definitely be a great learning experience!

There are quite a few "sample" open source projects that demonstrate best practices and various Android architectures. However, they are not fully fledged production applications like the Kickstarter app.

That's the entire issue, I've seen quite a lot of "sample" apps that do one thing (like nav bar, or fragments, or animations etc.)

But each of htem brings their own libraries, and don't explain what what's necessary and it's left to the user ot decide to how stitch all of this together.

Don't get me wrong...I'm happy for the demo apps (they had made my life a lot easier), but a production grade app is a whole different ballgame.

Re: Open sourcing our Android and iOS apps

#35
post #27

Earlier quoted context omitted.

But I am specifically talking about companies with closed source apps and services open sourcing them, not tools that are already open. Examples are Uber, AirBnB, and Groupon, not gpg or OpenSSL.

> But I am specifically talking about companies with closed source apps and services open sourcing them Ah, I see. I misunderstood. Yes, I think we are in agreement then, although I have my doubts most companies want their "secret sauce" or code-indiscretions flapping in the wild.

I think it depends. The exact PageRank algorithm, or the process that Uber uses to route drivers: probably not. The UI to any of that: why not? I think there is very little secret sauce out there and most of the stuff is just bog standard code that would do no harm being in the open.

Re: Open sourcing our Android and iOS apps

#36

This is pretty awesome. Just because an app connects to a single website/service doesn't mean there isn't a benefit to being open! It's good to be able to trust (and verify) the software running on our devices.

This. There is really no downside to doing this, and lots of potential upside. I honestly think most companies could do this with zero effect to their bottom line.

Not that it would be easy to compete with Kickstarter anyway, but what about enabling clone competitors?

Re: Open sourcing our Android and iOS apps

#38
post #16

Kudos to them. Compared to the web it's rather cumbersome to poke into packaged and released mobile apps, so I really appreciate access to the source of a real world app for learning and comparison. The Android codebase looks very modern and well structured. I think it makes great use of many of the goodies (gradle, rxjava, retrofit, dagger, android support lib, ...) and learnings (bring your own MV*; use Fragments w…

Yeah, they sort of rolled out their own MVVM implementation, based on RxJava and RxLifecycle. On Android MVVM is more difficult than MVP in my opinion (the most popular choice, not counting spaghetti projects), mostly because the platform doesn't provide the "glue" needed to bind viewmodels to the UI layer. At first glance it looks like they did it without overengineering, which is another trap as far as these matter…

Speaking of MVP, check here too:

https://github.com/6thsolution/EasyMVP

Re: Open sourcing our Android and iOS apps

#39
This is very exciting. There simply aren't a lot of open source "full scale" Android apps. Most of what you find are quick sample apps which simply don't show the complexity inherent in most professional apps. The largest other ones I'm aware of are Github, Google I/O, and some of the AOSP apps.

Re: Open sourcing our Android and iOS apps

#40

Earlier quoted context omitted.

This. There is really no downside to doing this, and lots of potential upside. I honestly think most companies could do this with zero effect to their bottom line.

Not that it would be easy to compete with Kickstarter anyway, but what about enabling clone competitors?

The apps don't really matter. I was the Android lead at Gilt and we often talked about open sourcing our app. We ended up open sourcing our iOS one (https://github.com/gilt/cleanroom). We were a company with a thousand employees, most of them not writing code. If you wanted to compete with us, copying our app was 5% of the overall effort, and what would you really get from our app that connects to our (closed source) backend anyway? The upside was enormous in terms of recruiting, retention, and keeping engineers excited.

Kickstarter is in an even better position. Their defendable advantage is the network effect of being the go-to place for crowd sourcing.

Post reply on HN