Love the app! I have just two general questions regarding the overall application of Hype. Kind of large picture questions:
Before the first version (V1.0) of Hype was published to the public to be officially released, how long did it take to actually build and develop Hype? This would include from the first steps in planning the app (software architecture diagrams, price point, decisions on certain languages to be used), then to the first line of code, and then finally to final release on your website or the Apple app store? Basically... development time from A-Z up to the production release moment?
Continuing on from the question above, how many developers were working on the app until that production release moment?
In order to render the graphics on the screen, are there additional graphic rendering package "add-ons" that your team used in addition to the base languages you used? Or did the base languages themselves have already have those graphic rendering libraries built in?
Now that Apple has removed Python support in macOS, are there any future plans on the part of the Hype team to re-write a new set build scripts using a different language?
I love how fast and responsive Hype is.... and just the overall workflow of Hype.
It was about 6 months with two developers from the start to v1.0's release on the App Store.
There's no graphics add-ons. Hype uses a WebKit view to render the user's scenes and AppKit to render the app UI. There is some manual drawing code for overlays and a few custom controls. Hype uses very few third party libraries/code.
Apple didn't remove "Python support," they just removed Python itself. It is still easy to install. We use homebrew to install for usage in our build scripts, and even build and distribute a python 2 installation for those using Export Scripts. It was annoying to do, but ultimately after this workaround, mostly a non-issue.
Ok thank you for sharing that info regarding your team's development time and # of developers. It was just a curiosity to me. I like to learn about different software development teams, their processes, how long their approach takes, the tools they use and why etc.
And thanks for the clarification about Apple still offering Python support but removing Python itself.... an interesting move by Apple. I am sure they had a strategic reason for it (to the possible annoyance or relief of different people depending on what their needs are or their perspective is)... I am sure if I dug around online, I might be able to find out why Apple chose to do that. Now I am curious.
Something else I also like to learn about just in general.... is how/why different software development teams choose one language over another for their development goals. For example, I was wondering... if your development team chose the languages you did for a specific benefit that only that particular language might offer. Or was it based on more just... a big picture approach... knowing that overall... certain languages excel at certain things over others for specific needs. Or maybe none of the above. These things are always interesting to me.
Apple generally doesn't see being "UNIX" as a selling point anymore, and don't want users/developers to rely on these tools. Maintaining them takes developers for something that is not a general priority. Also Apple is always behind in versions (which can be a security issue they don't want to be liable for) so most users wind up doing 3rd party installations like from homebrew anyways. It is a shame though, as I had previously considered python to be "API" that could be relied upon.
At the time Hype was developed, it was our opinion making a native mac app was the best fit for such a tool. Objective-C was the only language then to use to make an "mac-assed app". Likewise JavaScript was the only option for the web export side of things. We knew Objective-C and could also be more productive in it... and it is a nice language anyhow .
Apple has eroded most reasons and benefits to make a Mac app nowadays, so the language and technology decisions if one were to make an app like Hype in 2025 would be very different.
Interesting. You would think that Apple would not be behind in versions like you mentioned. What are your thoughts as to why that is the case?
So then... if you were to build a Hype-esque app in 2025, what languages would you choose today? Swift maybe? And also... what would your thoughts be on making an app like Hype in C++ as the primary language? What would the pros and cons be of using that language for this particular type of tool?
Apple's major release cycle is yearly. If they put major new versions in a point update, they may break something. This would also require more testing/validation then they probably want to do. So they'll always be behind.
Basically, this is not a priority for Apple.
And they probably think, "why should we do this work, when the community does it for us for free?" (referring to homebrew/macports/etc).
While I did work at Apple in a role that communicated with these teams (and I still have friends generally in software there), this is still only informed speculation. They might have other reasons I don't know.
The language matters less than the deployment target and business objectives. In 2025, most cutting edge apps are on the web, offer collaboration features, and are subscription. In this regard, for a new app I would probably choose using JavaScript/TypeScript on the front and backend, and possibly Rust via wasm in spots that need more native-like performance. It would not be Swift because there's no point to making a native mac. Despite some folks trying to get Swift elsewhere, that's really all it is good for at the moment. It would not be C++ because that language is convoluted beast, imho.
But do not take this to mean it is the plan for Hype... I'm just speculating on what I'd more heavily consider . Having an app that already exists shifts a lot of the tradeoffs!