Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Appify-UI - Create the simplest possible Mac OS X apps, using HTML5 for the UI (github.com/subtlegradient)
93 points by dwynings on Dec 5, 2011 | hide | past | favorite | 19 comments


Having worked extensively on a project that used something similar (we switched from Titanium Desktop to Mozilla's Chromeless project over the course of the dev cycle) as an underlying technology, I see a few things this needs to address. There IS a valuable niche here - Chromeless and Titanium are the only real competitors - and neither are solving it particularly well (though both slightly nicer than Appify as it currently stands).

First: Lower-level APIs. That means I need Javascript hooks into file access, menu bar content, cross-domain requests, camera and microphone, etc etc etc. Without this, no meaningful apps can be created.

Second: Config. Let me specify the startup window parameters (perhaps using a config JSON file included with the app source). Height, width, and position at least. Maybe support for multiple windows?

Third: Support. This one is where Titanium and Chromeless both fall flat on their face. Titanium Desktop is dead; the company has shifted 100% of efforts into an equivalent platform for mobile devices. Things are broken and aren't getting fixed, which makes it unfeasible to use for long-term development. The same applies to Chromeless; I've submitted dealbreaking bugs to the github - things simply Don't Work - and receieved no developer response whatsoever. Again, it seems as if the dev team has lost interest.

I really hope that you're planning on pursuing this as more than a one-off github project, because you have the opportunity to dominate an area of the "app development for web developers" market that NOBODY is currently solving. Best of luck.

*

EDIT: And for all of those who (largely correctly) will claim "desktop is dead, stop pretending it's the web" - you're right. The thing is, the project I was working on found ourselves in an interesting position, and we certainly weren't the only ones. We wanted to build a web app, and knew that the web was the future of our product. However, there was functionality we needed (filesystem access, non-flash microphone access, etc etc) that simply doesn't exist (yet!) on the web. Specifications and standards have been proposed and are being implemented, but we unfortunately can't assume that every potential user has a Chrome nightly build. Distributing an app running in an invisible web environment allowed us to develop the code we would be able to use long-term, while giving us a predictable, highly up-to-date, and extensible (via native hooks thru javascript) access to the local machine.

Also: cocui looks awesome, and worth checking out. My team has since decided to accept our limitations and move to strictly web, but if I was considering a similar project again I would definitely consider it.


One of the things that I've done for iOS developers is provide something called "WebCycript": a reasonably seamless way for you to just <script language="text/cycript"> in an HTML document being rendered (in this case, on the lock screen, to allow for easy-to-make lock screen widgets), and then have access to Objective-C APIs (even using Objective-C syntax; cycript.org for some example code; and I now wish I had finished putting up the new fancier website I was working on a few weeks ago ;P). If I supported something like this on desktop systems (along with the other arguably-simpler things, such as the embeddable browser), would that be valuable help for this problem space?


Cycript definitely looks very interesting. :) I could just put nice JS api on top of ObjC calls, which makes it just perfect for writing apps. :)


I feel that with the popularity of Dropbox and the likes, native apps have the potential to get a small revival. Utilizing DropBox means that the data is "in the cloud" more or less like a web app. From there, it's possible that native performance and access to hardware etc. is a win even if there are other advantages to web apps.


I'm currently in this position, but it's more due to an industry (TV) than anything else.

If anyone knows how to do a kiosk mode across two monitors so one webpage can control two monitors, I'd love for you to get in touch. :)


I am currently using titanium, can you tell me why you chose chromeless?


We moved away from Titanium when we were pretty explicitly told "development on Titanium Desktop has ceased" - documentation we needed was outddated, and the company is focusing efforts on mobile. Chromeless was new and exciting and seemed like development was going quickly, but has since trailed off as well.


If you want features, be sure to check out https://github.com/rsms/cocui

I made this thing to add a quick UI to some shell scripts. This is not intended to be a serious project for desktop app development. Just a utility for nerds.


Funny, I was just going to learn Cocoa so I could do just this. I will try this out once finals are over :)


If you are building desktop apps with web app technologies, you are really making compromises on a lot of important areas (native UI, responsiveness, runtime footprint, respecting platform conventions[1]). I can understand forgoing all of that, if doing so at least buys you broad cross-platform support.

However in the case of platform-specific projects such as this, you're not even getting that.

[1] http://readthefuckinghig.tumblr.com/


Are there screenshots that are readily available?



From the readme:

"Similar Projects

https://github.com/rsms/cocui is probly better in every imaginable way."


Awesome. I was just thinking I needed this for a new project.

Assuming it's Webkit under the hood... right? IE Safari-ish.


how does this compare to Titanium? [1] i'd research myself, but there's not much to look at.

[1] http://www.appcelerator.com/products/titanium-desktop-applic...


This is really cool. I've been wanting to mess around with HTML5 for a mac app


I feel this, like PhoneGap, this is a tremendous regression in web development. Just build web apps, stop with all this native/web hybrid nonsense.


It's a direct response to the failure of browsers to include API hooks into what has become basic and essential device functionality - camera access, for example.


what if you want to be listed in the app store?




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

Search: