

NOLOH (not one line of html) Beta Program - asnyder
http://www.noloh.com

======
SwellJoe
I think this is a valid direction for a large category of problems--many
complex applications on the web probably should use almost nothing but
JavaScript for the "view" layer in the MVC paradigm, from a maintenance,
usability and performance perspective. While I'm a big fan of using the
simplest possible solution to any problem, and HTML is the simplest solution
to almost every website problem, there's also a large class of problems where
HTML templates just don't make sense--they're just an unmaintainable mess.

Applications where the UI is always dynamically generated based on the user,
the state of the application and data, etc. are probably far more comfortable
using JavaScript generated by code. Obviously others are going this route, as
well. GWT uses programmatic generation of UI elements, for example, though it
does so by compiling Java down to JavaScript (kinda).

I'm not going to rush right out and start using nohloh (I don't enjoy working
in PHP, and most of my work is on existing apps), but I certainly see value in
the idea. And, in fact, most of my work lately has been on converting a huge
application to be friendly to using almost nothing but JavaScript for the
front-end (it's an installable systems management app, so I don't have to
worry about spiders at all, and the UI was never template based as it is
dynamically generated based on all of the criteria mentioned above).

Anyway, looks pretty neat.

------
ConradHex
I'm noticing some snarky comments, which seems to be a theme now when people
post their creations. I don't think HN is the best place for those. Valid,
constructive criticism seems a lot more appropriate here.

~~~
run4yourlives
There is a new breed of user here at HN, and with that, a reaction in the
older users.

I find this site seems to be more trafficked than it was previously, but the
noise to signal ratio has gone through the roof.

~~~
peakok
The reddit tone starts to predominate. There has been about 4 threads to
address the SEO issues, where a "read existing comments first" then vote-up
and "answer in the thread" was the appropriate thing to do.

The part of non-technology related stories has increased trendemously, when
some people point it as "non-HN", there are answered the Community Card (they
forget Community and Common are two very close words). PG is non-existent has
a spoken moderator who tells the rules when it's appropriate to do so (his
absence is eminently suspect).

More importantly, a lot of the old users keep their mouth shut now, some have
completly disappeared for obvious reasons. Most of them are prolly still
reading HN but the idea of posting a comment has become tiring for them. The
battle is already lost, but not for everybody.

------
PieSquared
I love it! A web application which actually feels (for the most part) like a
well designed and implemented desktop app.

Two minor quirks: Back and forward button cause an ugly sort of refresh. And I
forgot what the other one was because it just looks and feels so nice.

I hope this type of stuff gets more widespread. I also hope that browsers
don't screw it up, as they're likely to. (Works well in Firefox 3 for me)

~~~
pross
You're right. We have something in the works that will make back and forward
refresh only the necessary parts, but that's a feature for a future build.
Thanks for the compliments!

------
bayareaguy
This actually looks interesting.

Any chance you could show the PHP source to the doc viewer page
<http://www.noloh.com/Docs/#/section=apireference> ? I'm assuming that's a
NOLOH application which would give everyone a more substancial idea of what
it's really like to work with your class hierarchy.

~~~
asnyder
We actually plan to open up the entire noloh.com, and noloh developer zone as
soon as we finish documenting and adding features. The current developer zone
was thrown together in a few minutes.

Throughout this month you'll see it evolve into what we think will be the most
easy and intutive developer documentation experience, at which point it will
be open for all to see and use.

------
technoguyrob
This is really awesome.

Constructive comment: I can't middle click links to open them in new tabs.

P.S. You're not getting too much enthusiasm for it here because of the choice
of PHP. I can assure you, though, if this takes off, a lot of those "can
someone build me a Joomla or Drupal site?" on eLance will rapidly turn into
"can someone build me a Noloh app?"

~~~
asnyder
Thank you for the kind words.

You're right about the tabs, that will be implemented in the next update to
the website. We're planning to release Ruby and Python versions of NOLOH at
some point.

~~~
technoguyrob
If the framework does all you promise and starts getting adopted, you could
make the language translation an open source project, maybe. That way it will
both be quicker to completion and less error-prone (since you're not locking
yourself in). In any case, it doesn't seem like turning this into Ruby or
Python should be too much of an issue, since they're all OOP languages anyway.

------
simonw
Changing your browser's font size breaks things in interesting ways as well
due to the co-ordinate system being based on pixels.

~~~
asnyder
In your application you can specify the be based on whatever units you prefer.
We chose px as the default and use it in most places, however you could easily
change the base unit to whatever you wish.

------
simonw
For when you absolutely, positively need to ensure no search engine ever sees
any of your content.

~~~
asnyder
A completely SEO application is rendered to search engines. NOLOH applications
know when a search engine is visiting and when it's a normal user. This is all
described in detail in the features section.

~~~
gojomo
There is a risk such differential-serving will trigger search-engine
'cloaking' penalties.

~~~
asnyder
The search engine gets all the content, at the same url and ip address, but in
a way that's optimized for it. There's no redirects, or other cloaking methods
involved.

~~~
gojomo
I've tried browsing as 'Googlebot'. The text returned is better for a crawler
than nothing (or just Javascript), but isn't the sort of functional and dense
link-structure that most helps site rankings.

Also, the crawler-friendly URLs are different from the URLs the search engines
will see reported by users' toolbars or discover on inlinks from other sites.
So various link- and traffic- based contributions to rankings are likely to
suffer on Noloh-style sites.

~~~
pross
There can be a dense link structure, depending on several factors. For
example, NOLOH itself generates a file that keeps track of possible paths
through your application. After we simply upload a newer copy of the file on
the live server, NOLOH will generate more links to the search engines. Also,
I'm not sure I understand what you meant by your last sentence, but links for
search-engines can be used by users too.

~~~
gojomo
To explain:

I browsed a few clicks in as 'Googlebot'. Rather than typical website links
with many targets, and useful anchor-text, each page had only one substantive
link, with minimal query-string-like anchor-text (like "section=features").

If a bot reached the URL "<http://www.noloh.com/index.php?section=features>",
and then that URL appeared as a search result, and then users visited by that
URL, they would then (upon navigation) find themselves at odd composite URLs
like
"[http://www.noloh.com/index.php?section=features#/section=bet...](http://www.noloh.com/index.php?section=features#/section=betaprogram)".

Meanwhile, if crawlers discover inlinks from other sites that users have
copied and pasted, like "<http://www.noloh.com/#/section=whoweare>", a crawler
will only see this as a link to the root page.

Your pagerank is going to be diluted over these arbitrarily different URLs,
and traffic analysis via toolbar reports is not going to boost key target
pages as strongly as in an application with traditional stable URLs.

------
ashleyw
I have no real idea how search engines work when they index a page, but I
would assume they do not execute any of the Javascript, just grab the text
based file from the server and analyze it. (does anyone have any insight into
this?)

So I was pretty excited to try it until I realised that if that is the case -
this is probably the worst SEOed site I have ever seen, it literally has no
SEO.

Its a good idea, but personally after the usability of a site, it being nicely
SEOed is really, really important.

~~~
pross
NOLOH generates only the content (text, images) for search engines so they
won't get any JavaScript or anything extraneous like the styles for their
text.

------
nir
It looks interesting, but what's the deal with Bubble2.0-ish "Register for the
Beta program"? Why not just let anyone download the source and install it,
assuming that's the way people will eventually use this?

You don't need to commit to any type of support, you'll probably get a lot of
useful feedback and, if it's good, some free publicity too.

~~~
asnyder
We're currently doing a beta program hosted on our server so that we can
provide support to the users, as well as make sure they always have the latest
version of the NOLOH Kernel for their applications. This will help us
communicate with the sandbox users, and get quality feedback from them. This
is especially necessary because our documentation is far from perfect, so
while we're actively working to create more docs, examples, and videos, we can
still get valuable insight and feedback from a small group of serious
developers.

~~~
nir
Eventually is this going to be some sort of hosted service or a framework
users download, like Rails or Zend Framework?

If it's the former, please ignore my comments :) If the latter, I for one
would be playing around with the code right now if there was a download
link... A few examples in a README file would do fine for now. Release early
and often, as they say ;)

It would be hard for users to do significant work with NOLOH when the code is
hosted on your own server and updated automatically, possibly breaking code
they added.

~~~
asnyder
We plan to offer free hosted, free download, as well as commercial hosting and
download options. Currently NOLOH is being used in several major companies
(ex. CIG) for their website in addition to their internal applications.

The Beta Program is setup to allow us to work closely with a small group of
developers so that we can help them develop their applications in NOLOH. If
any updates during the beta program break an application we will work with the
developer at our cost to fix the problems.

We have lots of documentation, articles, videos, etc, to put together before
we can offer it to non-commercial users which is what we hope the beta program
will help us accomplish.

------
rw
With JS off, I get an error page. With JS on, there is nothing displayed. The
source is rather plain. Is this a joke?

~~~
asnyder
If you have JS off you should be directed to an error page. Could you please
elaborate on "With JS on, there is nothing displayed". Viewing source on a
NOLOH application will not give you anything of interest.

~~~
rw
The page is completely white. Nothing there. Fx3.0rc_1.

------
BlueZeniX
The very definition of cloaking is serving different pages to bots then users.
So the 'optimized' stuff is essentially cloaking... What prevents googlebot
for using a different header to check if the site is cloaked?

Btw, i prefer haXe (haxe.org) as a true unified web language ;-)

~~~
pross
Yes, cloaking is giving a user and a search engine different pages, but the
purpose of cloaking is to decieve search engines, and that's why it's evil.
With NOLOH, search engines aren't decieved, they are simply given the content
in a way that they can understand since they do not understand JavaScript.
They're still given the same content (same text, images, etc...) but they're
not told to modify the DOM since they can't. So it is a helping hand to search
engines, not a deception in any sense. Why would googlebot use a different
header to pretend that it is a user in order to recieve a broken page? That
would not benefit any party.

haXe is only unified in the sense that it has support for JS, Flash, and a few
other languages. But going through their tutorials (for example,
<http://www.haxe.org/doc/js/ajax>) you still see that you have to write mark-
up. So all of the traditional problems that NOLOH is designed to address still
persist in haXe. Mark-up is static, error-prone, not intuitive for application
development, interpreted by browsers differently, and the list goes on and
on...

~~~
murrayh
> Why would googlebot use a different header to pretend that it is a user in
> order to recieve a broken page? That would not benefit any party.

Well... it would benefit Google (and its users), because they could detect and
punish cloaking. How would Google detect cloaking? A clerk examining the two
served versions, or automagically comparing the two versions of served
content? How smart would their comparing algorithm be? Could it determine that
your site was not being deceptive? How would you write such a algorithm (and
it better be generic, and difficult to exploit)?

Basically, I have no idea what the hell Google does and does not do, but I am
scared (and ignorant) enough to always serve search engines _exactly_ what I
serve users.

------
gills
I once built an app similar to this, where all the dom elements were built by
the script. Good concept, but I thought the search engines handed out
penalties for displaying different facets to robots vs users?

~~~
pross
It's the same content that is sent to spiders and users, but the robots just
get it optimized and without anything extra like JavaScript or styling
elements. They get text, images, and links, which is all they want anyway.

------
maxklein
What's up with the name? It seems very difficult to say and get people to
understand what you mean. Noloh! No-loh! It's a strange name.

~~~
asnyder
NOLOH, pronounced no-low is an acronym for Not One Line of HTML.

------
kschrader
This looks fairly similar to Seaside to me. Of course, you have the
advantage/disadvantage (however you want to see it) of using PHP.

~~~
asnyder
Dan Shafer who has authored books on smalltalk, as well as evangelized seaside
for some time has this to say on NOLOH:
<http://www.danshafer.com/onemind/node/813>

------
gigawatt
none of the links work for me. just briefly says "loading," then nothing
happens. NOLOH: Nothing Online Loading Or Happening.

~~~
gigawatt
nevermind. seems to be working now...

------
gojomo
With JS on in FF3, I see the front page... but nothing that I click brings up
anything else... nor do I have the right-click open-in-tab option I prefer.

NOLOH == Not One Link Opens Happily?

~~~
gojomo
FYI, it works in FF2, IE7, and Windows Safari. So it's apparently a Firefox 3
issue.

~~~
PieSquared
Works in FF3 for me.

~~~
gojomo
Still no luck for me -- even quit and restarted, and cleared cache. Oddly,
though, it's working on a FF3rc1 install I have on a Ubuntu machine.

Tried viewing traffic in Live Headers and script in FireBug to see what was
going wrong; attempting a direct fetch of one JS URL fetched came back with a
script that was just a comment: "/ _~NScript~_ /".

~~~
bootload
_"... Still no luck for me -- even quit and restarted, and cleared cache.
..."_

Do you use NoScript?

~~~
gojomo
Not in the FF3-on-Windows install for which Noloh doesn't work.

Add-ons installed there are Firebug, Live HTTP Headers, Tree Style Tab, and
User Agent Switcher.

------
slater
i like how, if you block the cookie, the whole site just fails to load.

~~~
asnyder
We're working on a cookieless version. Over the past 4 years it wasn't an
issue with any of our clients as it's expected for a user to have cookies
enabled. However we are aware of this issue and will be addressed in a future
releae.

------
redorb
this is horrible for SEO purposes, as I think google ignores most code.

~~~
asnyder
NOLOH programs are automatically optimized for SEO, try
<http://totheweb.com/tools/spider-test/index.php> and type in noloh.com.

