

The first open source multi-device development framework. - damusnet
http://framework.joshfire.com/

======
possibilistic
Everybody, just a friendly reminder not to be too harsh on these guys. They
are putting their stuff out in the open for others to use, so if you find
faults offer some positive feedback and encouragement.

Your website is obviously getting hammered right now, so I couldn't really
read it. It does seem somewhat inaccessible, though.

I did manage to get to your github and the first thing that struck me was that
your project is GPL. Could you guys consider something else? It's viral, and
not everyone can license their projects under that. Maybe LGPL?

The README file should be much more informative too. It's nice to have some
kind of documentation in there.

~~~
sylvinus
Thanks!

Here's the github link while we activate the cache on the server:
<https://github.com/joshfire/joshfire-framework>

This was released 2 days ago so yes it's still very rough around the edges!

It's currently GPL but there's also a free MIT-like commercial license that
applies if you're not an OEM. So no problems for most projects.

Any other feedback is welcomed :)

~~~
josegonzalez
Why have two licenses? Why not just MIT?

~~~
sylvinus
very simple, because as a company we'd like for manufacturers (think Samsung
or LG) to come to us for licensing if they want to release a device using the
framework.

That business plan allows us to avoid dicking around with developers like
others do (we're on github, we don't try to obfuscate anything in order to
sell "support") while still being able to make real money.

opinions on this position for an open source editor are welcome! we're still
young :)

------
Meai
So from reading the website, I don't understand what this framework does for
me. I can get "cross device compatability" by using plain old javascript and
html myself.

Why do I need this one? :)

~~~
Inufu
Especially since you still need XCode to deploy to iOS ..

~~~
robinduckett
If you mean deploy web apps to iOS, you are greatly mistaken. This is a web
app framework.

------
towndrunk
Interesting how "web" was left out of the title.

~~~
camiller
Yeah, the site is kind of slow right not but I can't tell if they provide an
abstraction layer to various system level API's or not to get access to
accelerometers, gyros, cameras, etc. like PhoneGap the other "first open
source multi-device development framework" that I'm aware of.

~~~
sylvinus
Developers can use phonegap to provide these abstractions where they make
sense (mobile).

Another focus of the framework is TVs and connected objects, where we do
provide abstraction for media elements like video : each TV SDK (Samsung,
Philips, LG, ...) has its proprietary widget

------
robinduckett
Android examples don't seem to work, maybe when it's matured.

Edit: Also, the back button gets broken badly whenever a link is tapped on
Android. Disappointing.

~~~
sylvinus
Hi,

yes it's a Developer Preview, we didn't expect the HN #1 slot so fast ;-)

Back button support is implemented (works on the website which is itself
written with the framework) but we didn't polish all the examples enough just
yet... will do!

Edit: The "Videolist" example has an Android connector that we test on Galaxy
Tab. We do need to get more of these devices asap... (thanks fragmentation!)

------
randall
I'm maybe a bit more n00bish than most, but I don't get the usecase, and the
examples don't really explain it either. Anyone want to enlighten me? Is it
just a way of writing an app in JS, and having something else translate it for
whichever platform its on?

~~~
sylvinus
yes it's writing an app in JS in a way that's portable and that can use
device-specific implementations of both UI Components (video for instance) and
input methods (touch/mouse/keyboards/http/...)

------
JoeAltmaier
Seems like a quick way to bring up wizard-like apps - panels with navigation
controls and content. How does it deal with screen-geometry?

~~~
sylvinus
can you be more specific?

currently the adapters mostly implement the input methods of each device
(touch, tv remove, mouse, ...) and most of the styling is left the the
developer with CSS/Templates.

~~~
JoeAltmaier
I'm thinking a phone app might factor the interface into multiple panels,
while a desktop app may have one composite panel. A pad might not have buttons
at all. So what is called "styling" is the hard part - essentially you have to
write a new app for each platform.

How cool would it be, if an app specification could be vague, mention the
elements by function but the platform determined the instance and layout?
Maybe let you set a couple of clues, linking the elements together by
properties, letting the app engine choose how to factor the app onto the
device.

~~~
sylvinus
we do parts of what you describe:

an app is indeed specified in a quite abstract way
([http://framework.joshfire.com/doc/0.9/gettingstarted/overvie...](http://framework.joshfire.com/doc/0.9/gettingstarted/overview)),
however we don't go as far as implementing automatic transforms from multiple
panels to a composite one for instance.

these choices are left to the developer but we make their implementation easy.

------
babel17
I wished I could wish you good luck, but more Javascript is a just a big step
in the wrong direction :-)

The good thing about Javascript is that it is sort of functional, but it gets
so many things wrong...

~~~
sylvinus
Wrong direction? Depends on where you're headed to :)

The #1 goal for this framework is being cross-device. Having the same language
run wherever we need (client side, server side with nodejs) is a big step in
that direction.

Now, this is clearly not the same direction as "find the purest, most perfect
language" but that's for others to look for :) We just try to solve this one
multi-device issue.

~~~
babel17
Yes, and you get my respect for that. It is probably also the smartest
solution to try to use Javascript for that purpose, because it has such a
large following. But expect not so smart people to come up with a multi-device
solution that isn't based on Javascript :-)

------
Hisoka
Can I write in Javascript and your framework will convert it to a native
iPhone app? If so, I'm gonna spread the word to my followers and make sure
everyone at least tries this

~~~
mshron
There is such a project already, called PhoneGap: <http://www.phonegap.com/>

~~~
Hisoka
I meant convert it to a real native app, not wrap it. I meant actually
converting the Javascript to Objective C. So when you do: <div>Hi
there!</div><div padding="5px">Hello!</div>, it gets converted to: frame =
CGRectMake(0,0, 10, 10); frame.label.text = "Hi there"; frame2 =
CGRectMake(15, 15, ...) frame2.label.text = "Hello";

~~~
sylvinus
Titanium from Appcelerator does allow controlling native components from
javascript, however the base UI definition is not HTML AFAIK.

------
alphadogg
The more devices targetted by a framework, the lower the common denominator...

~~~
sylvinus
That is if you plan to run almost the same code on all platforms

Two counter examples here:

\- For devices without a JS interpreter, app is executed server-side

\- Progressive enhancement / Graceful degration : some platforms can have more
features than others

