Hacker News new | ask | show | jobs
by ChrisMarshallNY 1251 days ago
It's funny. I'm working, right now, on a modular SDK that is the "heart" of an iOS app that we've been developing for a couple of years. I've taken functionality that was distributed all over a 30-screen iOS app, and distilled it into a simple-to-use, platform-agnostic SDK. This gives us a "kernel" that drastically improves the flexibility, quality, performance, and aesthetics of the app.

It's a thing of beauty.

And absolutely no one but me, cares.

That's exactly what I want.

I'm a little bit butthurt that no one wants to gaze in adoration at my cool toy, but it's not open-source (as if that would even matter, as I've discovered that no one actually ever seems to look at open-source code). The app will work much better, as a result of the work that I've been doing for the last couple of months.

10 comments

We've never met and we probably never will, and it's a virtual certainty I'll never see the code of which you speak. But know this... I appreciate it. And I can imagine it. I certainly empathize with your plight. The feeling of a job well done is all the validation you need.
Blessed comment! :D
> as if that would even matter, as I've discovered that no one actually ever seems to look at open-source code

there are 3 circumstances in which i regularly look at open-source code:

a. i want to fix a bug or improve some rough UX.

b. i want to add new functionality.

c. i want to borrow something from it for use elsewhere.

you’re right that the better your code, the less likely i am to read it for reason (a). and the more sophisticated your code, the less likely i am to read it for (c), as i’ll be hunting for reusable libraries rather than cribbing directly from applications.

but consider that for any commercial product, i’m also less likely to read the code for reason (b) because of largely unwritten cultural norms (if i contribute code to a project that has paid devs and don’t get paid for that, it feels like i’ve been suckered).

this being an iOS app exacerbates all this because even if i find a bug and suspect a one-line fix that would be worth my time, i won’t pursue it because i have absolutely no idea how to deploy my patched version (i have to register with app store, maybe pay some licenses/fees, does Apple even allow me to distribute patched versions of someone else’s software?)

so, yeah, you’re not wrong, but you’re also working in a context that really amplifies what you witness around open source (and if you specifically want your beautiful code to be read by others maybe this shows which approaches are more/less likely to get that).

> (as if that would even matter, as I've discovered that no one actually ever seems to look at open-source code)

I _really_ wish our company would open-source the code just as a way to make the team feel better and hold ourselves to a higher standard. I know no one will actually read it unless they're trying to find a vulnerability - and that would only improve the product! But even with a restrictive license the company is concerned about "trade secret"/"intellectual property" stuff.

Personally I feel like if we figured out some tricky problem other people have then we have an ethical duty to share it with the community

Hey, if you write a blog post on this I'd totally read it! Are you writing something that exposes a C API so you can embed it on various platforms?
I’ve written a bunch of stuff, over the years. Most can be found here[0]. I haven’t done much in a while, but I do want to get back to it. It’s just that my dance card has been a bit full.

The app has had a fairly long and winding trajectory. Most of the reason that it’s taken this long, is because the other stakeholders really didn’t know what they wanted, when we started, so the project kind of “accreted.” It’s really been a long prototype phase. Much better than an MVP, because we were free to make massive changes, whenever we wanted. It has a couple of backends, but they have been stable for years. Most of the thrashing has been on the UI.

The last few months, the functionality has stabilized to the point that I could factor out this SDK, and things will move very quickly, from here.

We’ll see what I can write, once I can come up for air.

[0] https://littlegreenviper.com/miscellany/

I also prefer this way.

People sometimes complain that software engineering isn't real engineering then push back on components like these, preferring hairball duct tape for short-term business reasons, which isn't exactly the quality that German and Japanese engineering have.

The reaction to the post was ... interesting ... I didn't make the post as any kind of complaint. It was a fairly simple statement of fact. I don't actually require any validation. I'm pretty comfortable with what I can (and can't) do.

It's a closed-source app, and probably no one will ever see the source. I don't expect them to. I have plenty of other code that folks can look at, if they want. A lot of that code is actually integrated into the app (I use lots of dependencies; just mostly ones that I've written).

I was really mentioning that the stack doesn't matter to most of the stakeholders on the project, and I'm fine with that. It's the way that it's supposed to be.

Oh, and it's an SDK, not a framework. It happens to have most of the app operation embedded in it, but the framework is UIKit. Any Apple dev of reasonable skill would be able to take it and run. They should have some skill and experience, though, or they are likely to make a hash of things; with or without the SDK.

>I'm a little bit butthurt that no one wants to gaze in adoration at my cool toy

That's life. Did you call up the bus company and thank them for engineering a bus to get you to work safely?

No, but some guy somewhere has dozens of model buses lined up in a basement where he lovingly paints tiny details on them while listening to Bus Stop Announcement ASMR
Hah, there are also various bus simulator games out there, trucking games and for some reason trains especially.

Not just tycoon games (like Transport Fever) but also ones that focus a lot on the details (Euro Truck Simulator seems to be a big one).

While we take lots of things for granted, there are always niche communities and people who like all of the details and whatnot.

It's very much the same how many might use languages without caring about how the GC works (where applicable) or use frameworks without caring about their internals, because they don't have to. And then there are those who do deep dives and sometimes come up with nice improvements or even just articles or videos about that stuff.

It's quite cool.

Not going to lie, that sounds completely awesome.
It was really a joke. I was sort of making fun of myself.

In retrospect, it seems to have fallen flat.

FWIW, I got it the way I am pretty sure you had intended it <3.
My worry over a case like this would be if your boss, or more likely, the nontechnical middle management stakeholders up the food chain, start asking “so what have you been doing the past few months (to justify your continued employment or bonus)?”

This would depend on your company culture of course.

I look at open-source to learn new programming languages, especially their idioms.
And then you leave and everyone has to deal with your homegrown framework.