37signals Basecamp Mobile HTML5 app for WebKit browsers
37signals.com
37signals.com
Any chance Cinco will be up on GitHub in the future, or are you guys holding it close to your chest?
I'm presuming that the back-end for Basecamp Mobile is the current Basecamp Rails app -- I'm curious about why you decided to use Stitch to package your JS, instead of what Rails is using (probably Sprockets or Sprockets 2).
There are a couple of reasons we went with the Stitch approach. For one, we found the CommonJS module system (as implemented by Node.js) to be an elegant way to declare dependencies and share state between closures.
Second, our test suite runs headlessly in Node.js. By using Node's require system, we're able to get useful information and correct filenames in backtraces during development.
By the way is jqtouch still being developed. I understand the lead developer when to work for sencha. Which ive tried but couldnt get to work. I was using jquery mobile but had problems with it which considering its only an alpha is understable.
There's really only 2 reasons to have a native app: 1) to take advantage of hardware that you can't access otherwise and 2) screen real estate. The latter reason being a poor one to solely base the decision on.
http://arstechnica.com/apple/news/2011/02/change-in-apple-po... http://arstechnica.com/apple/news/2011/02/apple-responds-to-...
Because most of the code runs in the browser, we were able to use the WebKit debugger. I never had any trouble matching up the compiled JS with the original CS source.
Basecamp feels totally different compared to other native apps on the iPhone: the back button looks weird, no fixed navigation bar and I'd expect to see the typical tab bars (all things you currently can't really imitate with HTML/CSS/JS).
It may not be a shit sandwich (as in http://daringfireball.net/2007/06/wwdc_2007_keynote ) but still it's clearly a trade-off driven by developmnt concerns. I totally understand that it's not really feasable to develop native apps for all those mobile platforms out there, but again it doesn't feel like a decision made from the user's perspective.
How come? Mobile browsers don't support it (for security reasons?) or it's slow/eats up precious bandwidth? Or am I misreading you completely.
On the other hand, the HTML interface is a mime-multipart form and a file upload - it's only convention that says "upload images only" - and the mobile platforms are very particular about access to files on the device. iOS for sure won't allow one app to touch the files of another.
Excellent work on the app. It's fantastic.
A nice work around to the uploading files issue would be to piggyback your existing email solution. So after posting a message you could show a little "Attach files" link which would show an email address to mail the files to (or open a mail client if that makes more sense).
Troll - "Disappointment"
Jason - "Good morning to you as well."
I've been studying his responses to customer feedback, both positive and negative, for a while now and have learned a lot. Just read his tweets for a lesson in great customer service.
I don't see why disappointment is an unacceptable response. I was kind of dissapointed to see that this is where they were going for mobile apps.
I also don't think customer service should be synonymous with ass kissing. I appreciate knowing there's a person with a personality responding to my inquiry instead of repeating canned phrases. You can be polite to a rude customer without giving a phony 'sorry' or 'thank you'.
It seems to me that you could do something similar to how ActiveRecord queries the database for a model's attributes - but instead expose a JSON service that returns a models attributes and validations. But perhaps JS doesn't have the dynamic / meta-programming capabilities to make this happen like Ruby does.
I personally think that apps in this style are better long-term than native apps for most business-y things.
As I've commented here before, I see the current native app trend as nothing more than a replay of the browser wars of the early 2000's - folks developing with IE specific features etc.
The natural tendency for programmers is to do less work. This native app bollocks is purely the result of commercial interests of device manufacturers: if you make it harder to develop cross platform stuff then developers must choose a platform. If developers must choose a plaform that means one platform will have all the coolest stuff, driving sales of the device.
I own and love my Nokia e72 and was really pissed off when 37signals released an iPhone app rather than creating a mobile web app.
The Nokia e72 browser probably won't cope with the HTML5ness of the Basecamp offering but at least there's hope! I will never use an iPhone because I need a qwerty keyboard (try typing find . -name "*.php" | xargs grep -il "function someFunction" on your iphone keyboard - or try editing a file in vim via SSH ... yeah, didn't think so).
At least with this trend maybe my next phone will have access to mobile Highrise goodness!
Also acceptable: find . -name '*.php' -exec grep -il "function someFunction" {} \;
However, I love that you guys are doing this. I'm excited to see the cinco framework as well. I have been looking for a mobile platform, I've used Sencha a bit, but find it difficult to learn and bloated.
That way it can be downloaded from the app store as that's what people are used to anyways.