skysight-inc/HackerNews huggingface dataset:
When developing websites recently with an eye towards mobile visitors, I've been using the device detection classify the requester into one of three categories, and serving a possibly different presentation for each:

- smartphones
- feature phones
- desktop and laptops

I'd like to ask those of you doing mobile webdev what your take is on this. Do you use these three "buckets"? Or see any problems with doing so? Do you make different distinctions? If so, why?

Some background:

Been thinking much more about mobile users in the last few webapps I've made, using device detection to somewhat customize content depending on broad device capabilities. IMO this is a good middle ground between two extremes: (a) serving a lowest-common-denominator html response that will work OK for every requester, and (b) serving something slightly different for every (OS, browser, device) combination you care about. (And neglecting those you don't :)

So-called "feature phones" are the kind that still make up most of the cell phones people on the planet use every day. Smartphones are the more recent and, uh, featureful devices like the iPhone, Android/G1, Palm Pre, and color Blackberries.

The line between a feature phone and smartphone is fuzzy. Generally, though, a device called a smartphone will have a full qwerty keyboard for input (hard and/or soft); larger full color screens; higher data connection speeds; and richer web browsers capable of rendering full XHTML documents and (critically) complete, efficient javascript engines.

Smartphone browsers will often present the average web page more or less acceptably. However, there are a lot of good reasons to present something different to smartphones and to desktop clients. The article lists some. For an excellent demonstration, visit espn.mobi in a smartphone (which automatically serves you the mobile version). Then, at the bottom of the page, click on the link that lets you visit the desktop version, and compare.

My opinion is that, if you're going to do device detection, it makes a lot more sense to develop a smartphone version than an iphone version. Even if the iphone is the most common smartphone now (at least in the USA), a large double digit number of smartphone internet users do NOT have an iphone OS device. And who knows what the mobile landscape will look like in a few years, when the websites you're making now will hopefully still be in use?

Please share your thoughts if you've been making mobile websites.

On a related note, if you want to learn about mobile webdev, this is video is an outstanding overview of the current landscape:

http://video.google.com/videoplay?docid=-6391025572807739271
Charlie and the Fuzzing Factory
That's a good point. Despite being something of a FOSS zealot myself, I agree that I have no rights whatsoever to the source of closed source software. I tend to shy away from closed source software for that reason, but so what-- I shy away from horror movies, fax machines, and American cars as well.
Huh? Why would that be a valid point? It's no harder to swap out different kinds of render methods than it is to swap style sheets.

BTW:

> Programs written in compiled or runtime-based languages either run or they fail.

This is simply not true. No matter what you're writing code in, you can write it in a way that exhibits graceful degradation. It's just that some languages make it easier than others.
Hopefully someone can correct me, but I thought penalties weren't wiped clean by bankruptcy?
The Fall of Christian Lacroix: Desire to be an artist killed brand
4store - Scalable RDF storage
That's odd. I believe the authors of the software I use on my FreeBSD server claim otherwise.

The beliefs of the developers of FreeBSD, Torvalds, or Stallman do not have to power to null and void several decades of legislation and legal precedent. Again, my original comment was how FOSS seems to have given people the idea that every piece of software should have viewable source.

I've toyed around with the idea of open source. I use open source software. I'm typing this in Firefox running on Ubuntu. I use the GNU compilers, both C and C++. I'm simply trying to say that there is place for both open source and closed source. Given the business I'm in, I will never release open source software, and I expect the software I do write will continue to be protected under various legislation.
I had some hope that Rick Rubin would be able to slap some people around in an effort to stop the insanity, but apparently he was overwhelmed by the minutiae of absurdest corporate bureaucracy and he's basically given up.

http://www.nytimes.com/2009/02/07/arts/music/07rubi.html

Compare with this article from 2007. http://www.nytimes.com/2007/09/02/magazine/02rubin.t.html
Vote: Crowdsoucing Final Logo Decision for "Clean Economies"
I'm not confusing anything, I'm explaining to you what the original author meant by software not ever been free. Someone always bears the cost; if the user pays nothing whatsoever, the developer pays with his/her time, which they could have used otherwise to program for money. Yes, this isn't what's usually meant by the code not being free, but that is the author's entire point. He's arguing that the usual way to talk about it - the one you recap in your sentence starting "But when we talk about whether software is free, the question is..." - is deceptively incomplete.

The author has a point - one I don't sympathize with much, by the way - and he's explaining it clearly. His reward? An alarming number of commentators here on YC smugly calling him an idiot and repeating with tedious condescention the standard talking points on freedom, gratis, etc., advertising nothing much beyond their lack of reading comprehension and a healthy knee-jerk reflex.
worth saying that my argument has nothing to do with css vs tables, but I dont agree with this at all, it may be object code to you, but it is always source code to the client, the browser that has to render it, the screenscraper that wants to pull data from it, the client side scripts that want to modify it.

another disagreement I have with it is that even though it may be generated by whatever fancy backend you want, it is still source code to you, there are very few(no?) powerful html generation libraries that let you generate html as an intermediary format, before writing the "html compiler" you need to understand the html you are compiling.

asm is usually referred to as object code because there are very few people comprehend assembly language at the moment, there was a time when asm (or the binary code itself) could be referred to as source code, but those are long past for most people, web toolkits havent matured that far, you can write perfectly great assembly code without knowing any of it though c, you cannot write a program that generates nice web pages without knowing html and css (right now)
Your body makes more than 60% of the cholesterol that you need daily. 500mg of cholesterol are about 1/3 of what you need every day.

http://www.extension.iastate.edu/Publications/NCR332.pdf
> if you embrace the fact that HTML/JS/CSS will at best represent an approximation of the interface you intend to create

-- start rant --

Why embrace it ? I see this as a major shortcoming.

It's like it is 1986 again, everybody and their brother coding new and exciting user interfaces on their EGA screens.

Every website works differently. It's a UI nightmare. Throw in the 'approximation' factor and it is understandable why efficiency/productivity goes down the drain.

Because there is no standard menu structure, because there are no standard form validation methods you need to re-implement these basic features, and it seems that there are endless ways to do so.

The software wheel has not been re-invented as many times in the past as it has been on the web.

What should really be embraced is the resilience of the USER, not of the web technologies. End users are the people that have to put up with the messy environment that the architects of the web produce, and they do so admirably.

Take HN as an example. It's hard to even improve the slightest bit over the austere user interface that it offers. A few minor nitpicks, that's about it. And yet, I'm sure if I asked some art director to do a 'makeover' that he'd manage to run it right in to the ground. It would take 10 seconds per page to load and you wouldn't be able to make heads or tales of it. It would look positively fabulous though...

Rigidity is not always a bad thing.

-- end rant --
Any word on how accurate/useful this tool is? I've tried products like SiteGrinder in the past and they don't work as well as advertised.
There is definitely a place for closed source:

- limited audience

- not to be hacked together by a bunch of people without knowledge in the relevant field(s), said knowledge only to be gained by years of study and hard work (think enterprise resource stuff)

- software developed 'in house' (think banking, insurance)

- stuff that isn't 'sexy' and that doesn't give you bragging rights.

The point of this is that the vast majority of ALL the software in use could have been open source.

And woe to you closed source author if one day some group of attic hackers decides to compete with you.

That has happened to many software companies that thought they had found a profitable niche that nobody else was interested in.
But I have met too many entrepreneurs who were foolish (small f) and lived to regret it dearly.

On the flipside, I have met many entrepreneurs who obsess about stopping the world from screwing them, to a degree where it distracts from solving problems from customers for money. See: license agreement text, resistance to money back guarantees, worry about piracy, wanting an NDA executed by a blogger you're pitching your product to, etc etc etc.
Assuming your audience/customers use smartphones I would only have 2 buckets (otherwise just a):

a) Desktop browsers

b) Smartphone browsers

I don't bother supporting feature phones because if its anything more then a small piece of data like the weather then browsing the internet on feature phones (and some early Blackberries) is pointless.

The web based vs native app question depends on a few things:

a) Do you need to use built in smartphone features (camera, GPS etc)

b) Have enough money to invest in developing for multiple platforms? (or you could use Rhomobile for rails)

c) Need a device-specific UI in order to deliver the content in a useful way?

d) App needs to work outside of 3g/CDMA networks? (business critical?)

I believe that web based is the way to go for most cases and will continue to be a better option over the next few years as more smartphone browsers are on level with iPhone/Android. But if the answer to the questions above are yes then native is the best bet.
Is any one seeing this? I'm still don't have the feature
Yep. This happens very often, here on HN as well. Somebody will come and say I have this fabulous idea/businessplan/whatever and then they'll clam up, it's so good they can't really talk about it.

Which is funny. I can't shower without having some 'good' idea, and by sharing them - here and elsewhere - I get a pretty good feeling for what could fly and what doesn't stand a chance. I'm counting on my willingness to pursue an idea all the way through to implementation and user support as the edge that will make me win if someone else should want to run with it too.

Let go of the paperwork, get moving. 6 months head start is worth more than all the contracts in the world. And if that head start is not enough to establish yourself then look a little longer for lower hanging fruit, there is plenty of it.
Cool, sounds very similar to the project abossy and I worked on: www.twitterbowl2009.com
Ask HN: Why is the number of greatest magnitude on the left?
There's a lot of people knowledgeable 'bout math here so I thought I'd ask. Is their any reason when writing base-whatever numbers that the number of greatest magnitude's on the left and the number of least magnitude's on the right?

Since English is read and written left-to-right, it seems like it'd be more intuitive to do it the other way.

I was thinking it might be a hold-over from the Arabic language.
I am working on my own trading and valuation software. The public will never see the source, just like they will never see the source from JPMorgan, Goldman Sachs, or any other firm on the Street.
He seems to argue that alternative renderings - eg. for blind users - could be generated on the server rather than the client. This glosses over the important point that nobody is actually going to do that.

The beauty of correct use of html and css is that the burden of choosing an appropriate rendering is pushed to the client, which in turn means that the developer does not have to know in advance what kind of devices or assistive technologies will be used to render the content.
He makes a good point that just because GDP begins to rise it doesn't mean that we should stop worrying, but I don't really like his definition of when we say the recession is over. He wants it to be:

"when GDP returns to (or near) its trend line"

But I think we'd be better served by waiting till the economy is growing at its regular rate (according to Posner, about 3% annualized). That is when we know that the economy is growing appropriately.

His other comments on the history of the words "depression" and "recession" are very interesting.
Compared to your situation I feel less sympathy for Mr. Tarver since much of his work took place in a university environment and while he claims to have spent 20 years developing the ideas behind Qi, he obviously didn't profit from those efforts in the way that he may have wanted.

But I doubt he would have been as critical of government support for projects had his own efforts been more successful since presumably the university partially supported his research (or at least didn't take the kind of hostile attitude he would have encountered at many corporations).

I think this particular situation shows that there is a difference between having expertise and having an ability to capitalize that expertise. Perhaps had he spent a little more time networking to find people who would be willing to support his ideas, things would have worked out better for him.
> 200lbs to be vacuum sealed & delivered at your doorstep!

You're making me hungry.
The 4hww reference is in regards to your plan outsourcing yourself from your day job. As well as the 50/50 split of working on your own time, and developing a business.

The MLM is in reference to: founders convince other consultants to contribute their bench time.

Obviously I know you are not trying to run a mult-level-marketing outfit, but I feel the implementation is similar.

I think your plan trivializes a lot of things. Mainly:

- Outsource yourself from your day job

- Start a startup

- Teaming up with like-minded people as motivated as you.

- Sharing profits "simply".

These are not trivial.

Also your main point is that you don't want you business to be dictated by outside investors. But why is the assumption that anyone investing money would be a detriment while anyone investing domain-knowledge and side-profits is an asset? (as per your consultancy network).

I don't see how giving equity to people more like you is any better or worse than giving equity to outside investors. Equity is equity and if your main concern is not giving up control of your business, you should not be dealing in any equity whatsoever.

To me, you are trying to solve a purely business problem, but you are trying to do it in a way that involves the product development/tech side. Though, I have no idea if that is good or bad.

I am on board with exactly what you are saying. I want my own business to be my business. But this is why I'm a DHH disciple. Sure its not 1,2,3 easy, but the 37 signals way is COMMON SENSE, when it comes to business. So it sounds like your goals are more business then they are tech; in that case, start with the business side of things, and see how that fits into your tech ideas, not the other way around.

(just subjective advice - honestly meant as constructive criticism: best of luck)
The Roman numerals also had the largest symbols on the left for instance MDCLIX (1659) reads as:

M = 1000

D = 500

C = 100

L = 50

IX = 10 - 1

So I doubt it is strictly an arabic holdover.
I wonder how many of these rumors they hear, and how unlikely it is that they'd find corroborating evidence.
Isn't this an underground facility? Radiation released if any was probably contained?
I think its just convention, in essence thats the way it started so it stayed that way.

But as a counter argument to your statement that it would be more intuitive the other way given the way english is read, consider that you want the largest magnitude digit first since it contains more information about the number than the rest of the digits.
I'm not sure, are you talking about changing the render method to output clean html which the user can style themselves?

Don't bother answering, I'm really confused. Why doesn't the world use XML and XSLT? I give up. I'm gonna just code using tables from now on.. o_O
Left to right numbers are actually more natural in European languages than in Arabic, which is written right to left. It's very inconvenient writing numbers in Arabic, because if you write things in the order you say them (which most people do) you have to write them in the opposite direction to the way you write the words.

Left to right numbers are so inconvenient in Arabic that I expect it's something they copied from Hindu numbers, which were the original source.
'Huh? Why would that be a valid point? It's no harder to swap
out different kinds of render methods than it is to swap
style sheets.'

its much much harder to switch rendering engines than to switch css files

try changing this websites rendering engine, first you need to hack the server, then you need to understand the source code(and learn the language if you dont know it already), then learn how the renders are perfomed, how the data is modelled.

then try switching its stylesheet, that can be a click away if you want it.
Sarah Palin divorce to Todd Palin
Ask Hn: Review needed for my Firefox chat extension 
Hey guys!

Two things were really bugging me about online interaction with others. One is closed online communities, where one will need to pay for connecting others, and the other one is web forums, where online meets the "offline and silent".

I wrote a firefox extension, where website addresses/domains are simply names of comunication channels to which any user can join and interact with other -alike- visitors while she can continue surfing on the website(s).

https://addons.mozilla.org/en-US/firefox/addon/13436/ is the address of my addon. other than that, http://www.visitrs.com/chat/ will provide the same interface, but without the easiness of the plugin.

I'd like to have some reviews, though there's not a page that explains the details of the application yet, so i 'd like to be your guide on your journey to my "yet another chat application"
And i'll be doing the main page of the site at the meantime :)

Any sugesstions, bug reports are welcome.
thanks
Ah yes. The old "x is hard. Writing x sometimes gets messy. I don't want to deal with all the intricacies and details of x. I know, I'll create an abstraction layer!"

Of course, in the best of all possible worlds, you'll end up with a perfect abstraction layer which is powerful enough to allow you to do everything you need, while hiding all of the the gory details. In the worst case, you end up with a leaky abstraction. Suddenly you need to know not only the underlying language, but also how the compiler works.

That's not to say that all abstraction layers are evil. C vs. machine code is an example of an abstraction that works well. You rarely need to dive down into the machine code and you can, to a large extent, be ignorant of how the compiler works and still be able to be a decent C programmer.

There's no doubt that developing for the web can be quite hairy and sometimes you wish you didn't have to deal with all of the compatibility issues etc. It's possible that the solution is something like Vaadin, which lets you develop web applications as if they were Java desktop applications. But I'm not convinced just yet.

I guess the real question is, what exactly is the problem with HTML? If the problem is that HTML isn't abstract enough, then yes, an abstraction layer would be the answer. But if the problem is something else then slapping an extra layer of complexity on top of HTML won't magically solve those problems.
Rationality and Game Theory
Related to the Netflix prize, take a look at the Hodge decomposition: http://arxiv.org/abs/0811.1067.
Heuristics for Blessing Software Packages
Atom : a domain specific language for hard realtime applications
From Knuth vol 2 section 4.1:

Our decimal notation...was developed first in India within the Hindu culture...The earliest known Hindu manuscripts that show decimal notation have numbers written backwards (with the most significant digit at the right), but soon it became standard to put the most significant digit on the left."

[later] "It is interesting to note that the left-to-right order of writing numbers was unchanged during [translation from Hindu to Arabic to Latin], although Arabic is written from right to left while Hindu and Latin scholars generally wrote from left to right. A detailed account of the subsequent propagation of decimal numeration and arithmetic into all parts of Europe during the period 1200-1600 has been given by David Eugene Smith in his History of Mathematics I, chapters 6 and 8."
A huge part of the problem is that HTML is a really bad object code for UIs.
The goal of the post was not to trivialize the difficulty of accomplishing any of these steps, simply to outline what I saw as necessary ingredients. If you think any of them are insurmountable I would love to hear why.

To be clear, I don't really have a problem with the VC approach. I just see most of the success stories in that realm as people who become fantastically rich but lose control of their companies along the way. I am hoping to build something that is long term, sustainable and leaves me in control of the thing I created. I was not trying to imply that I prefer one type of person to have equity over another, rather I hoped to share equity among the people who contributed. The argument against VC money was wholly separate from the argument for paying contributors with equity. The latter is because cash will be tight and because I believe it is better to give people a stake in their future rather than just a paycheck and a task list.

Finally, the idea that I am solving a business problem over a technical one here is right on. I haven't really mentioned a startup idea. Previously, I spent a year trying to get a company off the ground by myself (and failed miserably). I learned that, for me, it would be better to work with others towards this goal while leveraging their experience, talent and outside perspectives. VCs can provide this as well, but at what price? This is simply meant to be another path towards the goal of a startup, with different sacrifices along the way.
Just in time to make their response to the FCC less scandalous.
If you're using creatine to prep for weight training, that's a feature, not a bug. Being really angry helps weight training, or at least makes it feel more satisfying.
So how do ramen profitable companies and "Italian restaurants on the web" (ie. Small self-funded companies that fit a hugely profitable niche) fit your world view?

They (37s, fogcreek, etc.) did start as consulting businesses and raised little or no outside capital to build immensely profitable products...
Makes some good points, but calling Python a sugaring on Lisp is a bit weird, especially since it misses 3 of his 5 philosophies of Lisp.
Black Hat Conference 2009 Proceedings
The same can be said about football. Man, I miss those days.
Math-hattan: How math lovers see the City
The server is still producing HTML and CSS which can modified by the client.