jtyost2 + webdevelopment 336
Dear ICO: This Is Why Web Developers Hate You
2 days ago by jtyost2
Dear ICO. On behalf of web developers everywhere, what the frolicking duck?
As the body responsible for policing the infamous Cookie Law in the UK, you don’t exactly have a popular job, to be fair.
A year ago you graciously granted us an extra year to comply with the law, announcing your decision just 24 hours before the law came into effect. Last week, 24 hours before the really-we-mean-it-this-time law took hold, you changed it completely.
Any web developer who actually tried to comply with the law in either case has been royally and totally screwed, for no reason other than your blithering incompetence. Thanks for that.
Curiously – and don’t think we haven’t noticed – a lot of big sites, like the BBC, Guardian, BT, Channel 4 etc. all revealed solutions which comply with your revised guidelines just prior to you announcing it. We assume you’ve enjoyed long and comfortable consultation periods with all of them, which you decided to share with us one sunny Friday morning a day before it becomes law. You know – the same lazy day everyone is making their solutions live.
Now you might say you’ve already spoken out publicly about what a light touch you’ve been aiming for, which is true. However anyone who’s been following the law for the past year can agree on one thing – no one had a bloody clue what they were meant to do. Not the Wall St Journal, or The Guardian, or WebTrends, or Adobe, or half-a-bazillion web devs. We’re been floundering in a wind of ignorance while the one body with the responsibly to clarify anything sat on their collective asses and changed their mind last minute.
programming
software
business
legal
WebDevelopment
from instapaper
As the body responsible for policing the infamous Cookie Law in the UK, you don’t exactly have a popular job, to be fair.
A year ago you graciously granted us an extra year to comply with the law, announcing your decision just 24 hours before the law came into effect. Last week, 24 hours before the really-we-mean-it-this-time law took hold, you changed it completely.
Any web developer who actually tried to comply with the law in either case has been royally and totally screwed, for no reason other than your blithering incompetence. Thanks for that.
Curiously – and don’t think we haven’t noticed – a lot of big sites, like the BBC, Guardian, BT, Channel 4 etc. all revealed solutions which comply with your revised guidelines just prior to you announcing it. We assume you’ve enjoyed long and comfortable consultation periods with all of them, which you decided to share with us one sunny Friday morning a day before it becomes law. You know – the same lazy day everyone is making their solutions live.
Now you might say you’ve already spoken out publicly about what a light touch you’ve been aiming for, which is true. However anyone who’s been following the law for the past year can agree on one thing – no one had a bloody clue what they were meant to do. Not the Wall St Journal, or The Guardian, or WebTrends, or Adobe, or half-a-bazillion web devs. We’re been floundering in a wind of ignorance while the one body with the responsibly to clarify anything sat on their collective asses and changed their mind last minute.
2 days ago by jtyost2
Mobile set to surpass desktop and webmail email client usage by July
23 days ago by jtyost2
Use of mobile email clients is set to surpass desktop and webmail client usage by July, according to the results of a recent study by our friends at Return Path. After examining data from over 90 email clients, amounting for more than 130 million data points over a 6 month period, Return Path found that while webmail clients overall are on a slow decline, mobile views increased by 82.4% over the same period (March ‘11 – March ‘12). Mobile devices currently claim 16% of overall email client market share, with 85% of mobile email opens occurring on an Apple iOS device. This is comparable to our earlier findings.
Return Path also found that there is an uptick in mobile email readership during the weekend, which can be attributed to email recipients switching from the desktop to a smartphone outside of office hours. Conversely, it’s at its lowest on a Wednesday, when presumably folks are at their most busy tackling their Outlook, or OSX Mail inboxes.
The implications for email senders like you and I are fairly clear. As Tom at Return Path states in his summary:
“… those that aren’t tracking which device their subscribers are reading their emails on, or optimizing their emails or websites for mobile devices stand to lose out. A poor user experience could mean no response, no action, or plainly put, no ROI.”
If you aren’t already optimizing your emails for mobile, now is the time. To set you on the right path, we’ve got a practical primer on email design, not to mention a neat template builder which can whip together mobile-ready campaigns in a matter of minutes.
email
mobile
design
WebDesign
WebDevelopment
iOS
from instapaper
Return Path also found that there is an uptick in mobile email readership during the weekend, which can be attributed to email recipients switching from the desktop to a smartphone outside of office hours. Conversely, it’s at its lowest on a Wednesday, when presumably folks are at their most busy tackling their Outlook, or OSX Mail inboxes.
The implications for email senders like you and I are fairly clear. As Tom at Return Path states in his summary:
“… those that aren’t tracking which device their subscribers are reading their emails on, or optimizing their emails or websites for mobile devices stand to lose out. A poor user experience could mean no response, no action, or plainly put, no ROI.”
If you aren’t already optimizing your emails for mobile, now is the time. To set you on the right path, we’ve got a practical primer on email design, not to mention a neat template builder which can whip together mobile-ready campaigns in a matter of minutes.
23 days ago by jtyost2
Why O, why? Thoughts on Opera's Implementation of WebKit's Prefixes — WebKitbits
26 days ago by jtyost2
So there you go. We have real problems, for both the browser vendors and the users.
If it isn’t already clear, I’m not a fan of this solution, and we’ve finally arrived at the crux of why: It is a short-sighted solution, primarily for the benefit of browser vendors, which contradicts an existing standard.
Mozilla
webkit
opera
MozillaFirefox
browsers
programming
software
WebDesign
WebDevelopment
standards
from instapaper
If it isn’t already clear, I’m not a fan of this solution, and we’ve finally arrived at the crux of why: It is a short-sighted solution, primarily for the benefit of browser vendors, which contradicts an existing standard.
26 days ago by jtyost2
Scale Something: How Draw Something Rode Its Rocket Ship Of Growth (gamasutra.com)
5 weeks ago by jtyost2
I’ve worked at OMGPOP for almost four years now and have seen it transform from a dating company, a games company and then find its footing in mobile games. We’ve done tons of stuff, tried many different technologies and business plans.
I’ve always seen us as the little guy that can use fast prototyping, agile development, and the latest tech in order to gain an advantage. Also, being in the game world means you get to test out a lot of different ideas to see what sticks. In my time here, I’ve made avatar systems, a text adventure game engine, a full-featured mysql sharding library, a multiplayer real-time platformer built on our javascript game engine, an AIM bot system, a whole slew of chat room games powered by a bot framework we created, and tons more.
On the backend of all these games is a tiny systems team of three people — myself, Christopher Holt and Manchul Park. We built everything from scratch and thought we had our approach to building and scaling backend systems down pretty well. That was until Draw Something came along.
programming
scalability
WebDesign
WebDevelopment
from instapaper
I’ve always seen us as the little guy that can use fast prototyping, agile development, and the latest tech in order to gain an advantage. Also, being in the game world means you get to test out a lot of different ideas to see what sticks. In my time here, I’ve made avatar systems, a text adventure game engine, a full-featured mysql sharding library, a multiplayer real-time platformer built on our javascript game engine, an AIM bot system, a whole slew of chat room games powered by a bot framework we created, and tons more.
On the backend of all these games is a tiny systems team of three people — myself, Christopher Holt and Manchul Park. We built everything from scratch and thought we had our approach to building and scaling backend systems down pretty well. That was until Draw Something came along.
5 weeks ago by jtyost2
Saving the Day with Scoped CSS
6 weeks ago by jtyost2
Over the last couple years HTML5 and CSS3 have rocked our worlds and the way we approach common website issues. Every few days it seems there is some new fangled snippet or approach that is a game changer. Today might just be another one of those days (kind of).
One little known feature of HTML5 is Scoped CSS. It’s an attribute for style blocks that may change the way we tackle certain styling challenges in the future.
html5
css3
css
html
webdesign
webdevelopment
programming
One little known feature of HTML5 is Scoped CSS. It’s an attribute for style blocks that may change the way we tackle certain styling challenges in the future.
6 weeks ago by jtyost2
CSS Hexagon Tutorial (github.com)
7 weeks ago by jtyost2
And that’s how we get a hexagon in CSS. The 30:52 ratio in the border widths is approximately 1:√3 which is ratio required for a hexagon.
CSS
WebDesign
WebDevelopment
programming
from instapaper
7 weeks ago by jtyost2
jQuery Credit Card Validator — Pawel Decowski
8 weeks ago by jtyost2
jQuery Credit Card Validator detects and validates credit card numbers. It’ll tell you the detected credit card type and whether the number length and Luhn checksum are valid for the type of card.
jquery
programming
webdesign
webdevelopment
8 weeks ago by jtyost2
The CSS3 :not() selector • CSS & (X)HTML • Kilian Valkhof
9 weeks ago by jtyost2
There isn’t a lot of information to be found about the :not() selector. The specifications only offer 3 lines of text and a couple of examples. So lets see what it can do!
The Specification
The negation pseudo-class, :not(X), is a functional notation taking a simple selector […] as an argument. It represents an element that is not represented by the argument.
What it says here, is that a selector with a :not() in it will match all elements that do not match what’s between the parenthesis.
A simple selector is a term used in the specifications. A simple selector is: a single element, attribute selector, class, id or pseude-class.
css
css3
programming
webdesign
webdevelopment
software
The Specification
The negation pseudo-class, :not(X), is a functional notation taking a simple selector […] as an argument. It represents an element that is not represented by the argument.
What it says here, is that a selector with a :not() in it will match all elements that do not match what’s between the parenthesis.
A simple selector is a term used in the specifications. A simple selector is: a single element, attribute selector, class, id or pseude-class.
9 weeks ago by jtyost2
The End of Pagination
9 weeks ago by jtyost2
Above all else, you should strive to make pagination irrelevant because the user never has to look at more than a few items to find what they need . That’s why I suspect Google hasn’t done much with this technique in their core search result pages; if they aren’t providing great results on page 1, it doesn’t really matter what kind of pagination they use because they’re not going to be in business much longer. Take that lesson to heart: first present a relevant list of items to the user in a sensible order before worrying about your pagination scheme.
webdevelopment
webdesign
programming
software
usability
userexperince
9 weeks ago by jtyost2
Rainbow - Javascript Code Syntax Highlighting
9 weeks ago by jtyost2
Rainbow is a code syntax highlighting library written in Javascript.
It was designed to be lightweight (1.2kb), easy to use, and extendable.
It is completely themable via CSS.
javascript
codehiglight
programming
webdesign
webdevelopment
It was designed to be lightweight (1.2kb), easy to use, and extendable.
It is completely themable via CSS.
9 weeks ago by jtyost2
Paul Graham, the Commons, and How Google Stopped Being Google (theatlantic.com)
9 weeks ago by jtyost2
I’m not the first person to make this point, but there is an important lesson that I hope we take from this relatively minor tragedy: The aggregation of individual data does not a commons make.
google
searchengine
webdesign
webdevelopment
programming
software
9 weeks ago by jtyost2
Pure CSS Clickable Events Without :target
9 weeks ago by jtyost2
Click on the drop downs above. That’s done all in CSS; no kind of javascript whatsoever. Pretty cool, eh? It’s a fun use of the :active and :hover selectors. You can browse the source code for the demo above here. If you’d like a more in-depth tutorial of how to accomplish this, continue reading.
css
dropdown
menu
clickevent
html
programming
webdesign
webdevelopment
9 weeks ago by jtyost2
Paging Element for Twitter Bootstrap and CakePHP 2.0+ — Gist
10 weeks ago by jtyost2
Paging Element for Twitter Bootstrap and CakePHP 2.0+
TwitterBootstrap
CakePHP
programming
php
pagination
webdesign
webdevelopment
10 weeks ago by jtyost2
A Retina Display Reckoning for Magazine Publishers – Stuntbox
11 weeks ago by jtyost2
But there is one group that’s about to smack headlong into a reckoning, and that’s the publishers who’ve been using several popular device-specific app platforms to churn out print-like periodicals for the iPad.
The iOS apps created by systems from Adobe, Woodwing, Mag , and others—the platforms used by the bulk of traditional publishers to crank out their iPad magazines right now—are essentially collections of PDFs or JPGs exported out of programs like InDesign and bound inside a wrapper application. Basically, they boil down to pictures of layouts, photos, and text. Rather than create new rendering engines from scratch, these platforms rely on existing desktop applications to do that work, then package up the output. While faster to develop, this has negative consequences for the end user. You can’t resize text. File sizes are untenably large.
Now apply the volumetric increase in pixels that’s upon us, and it’s easy to see why the size of an average iPad magazine issue is about to go through the roof. Very roughly speaking, a single page of text built this way and saved using light JPG compression weighs in at around 150-350kB. At the new Retina dimensions these same app platforms will generate pages on the order of 2MB. That’s per page .
This isn’t just a question of the bandwidth these apps will devour while downloading issues, it’s also a question of whether or not a user can actually store these things anywhere. The screen volume may have quadrupled, but the new iPad still ships with the same three memory options: 16, 32, and 64GB. As I noted on Twitter , the growth rate of the potential payload size just outgrew the growth rate of device storage exponentially. Some publishers may be implicitly backing themselves into maintaining cloud-based storage for their users, since there’s no way the average reader could keep more than just a few of these things on their device at one time. (Remember, there’s lots of other things vying for that space.)
The question now before platform makers is whether they will begin exploring alternatives or will pass the pain along to users in the form of unsustainably large issue sizes. The three likely options on the table for them are: 1) Do nothing; 2) Start building dynamic layout and text rendering engines; or 3) Begin basing their platforms on Web technologies.
Doing nothing simply won’t cut it, as either they or the user will begin encountering problems too obvious to ignore (though I strongly suspect we’ll see it being done anyway for at least a little while). Building your own layout engine and the runtime environment to display it can be an extremely complicated endeavor. Just ask a browser maker…
And that brings us to the third option. An existing markup and layout technology that’s widely deployed, supported, and understood. That’s the Web. This doesn’t mean they necessarily have to shift to entirely Web-based delivery, either. Many of the most successful iOS (and Android) apps are actually hybrid apps in disguise, utilizing modified WebKit views to display information. Adobe has clearly started laying some groundwork for this . Why reinvent the wheel?
media
magazine
publishing
iPad
webdesign
webdevelopment
programming
The iOS apps created by systems from Adobe, Woodwing, Mag , and others—the platforms used by the bulk of traditional publishers to crank out their iPad magazines right now—are essentially collections of PDFs or JPGs exported out of programs like InDesign and bound inside a wrapper application. Basically, they boil down to pictures of layouts, photos, and text. Rather than create new rendering engines from scratch, these platforms rely on existing desktop applications to do that work, then package up the output. While faster to develop, this has negative consequences for the end user. You can’t resize text. File sizes are untenably large.
Now apply the volumetric increase in pixels that’s upon us, and it’s easy to see why the size of an average iPad magazine issue is about to go through the roof. Very roughly speaking, a single page of text built this way and saved using light JPG compression weighs in at around 150-350kB. At the new Retina dimensions these same app platforms will generate pages on the order of 2MB. That’s per page .
This isn’t just a question of the bandwidth these apps will devour while downloading issues, it’s also a question of whether or not a user can actually store these things anywhere. The screen volume may have quadrupled, but the new iPad still ships with the same three memory options: 16, 32, and 64GB. As I noted on Twitter , the growth rate of the potential payload size just outgrew the growth rate of device storage exponentially. Some publishers may be implicitly backing themselves into maintaining cloud-based storage for their users, since there’s no way the average reader could keep more than just a few of these things on their device at one time. (Remember, there’s lots of other things vying for that space.)
The question now before platform makers is whether they will begin exploring alternatives or will pass the pain along to users in the form of unsustainably large issue sizes. The three likely options on the table for them are: 1) Do nothing; 2) Start building dynamic layout and text rendering engines; or 3) Begin basing their platforms on Web technologies.
Doing nothing simply won’t cut it, as either they or the user will begin encountering problems too obvious to ignore (though I strongly suspect we’ll see it being done anyway for at least a little while). Building your own layout engine and the runtime environment to display it can be an extremely complicated endeavor. Just ask a browser maker…
And that brings us to the third option. An existing markup and layout technology that’s widely deployed, supported, and understood. That’s the Web. This doesn’t mean they necessarily have to shift to entirely Web-based delivery, either. Many of the most successful iOS (and Android) apps are actually hybrid apps in disguise, utilizing modified WebKit views to display information. Adobe has clearly started laying some groundwork for this . Why reinvent the wheel?
11 weeks ago by jtyost2
ongoing by Tim Bray · Network App Macroeconomics
february 2012 by jtyost2
The one thing in the big picture that I don’t see changing any time soon is the basic JSON-over-HTTP architecture of more or less every interesting business app. That at least insulates the moving target running on the server (NodeJS? Go?) from the moving target running on the client (Dart? B2G ?), and that has to be a good thing.
json
http
rest
programming
webdevelopment
api
mobile
technology
february 2012 by jtyost2
Taras’ Blog » Blog Archive » PSA: DOM Local Storage considered harmful
february 2012 by jtyost2
Cry, rely on browser cache. There are no viable alternative at the moment. IndexedDB is complex, requires user to approve it and isn’t widely implemented. WebSQL is all about bringing SQLite problems we’ve been studying and fixing within Firefox to every single webpage.
My best guess is that we’ll end up with webdevs using convenience libraries built on top of IndexedDB. We will likely add promptless operation to IndexedDB.
We have already made Local Storage hurt less, we have a plan to make it relatively painless, but it will always degrade user experience when compared to something like IndexedDB.
localstorage
javascript
webdevelopment
programming
html5
My best guess is that we’ll end up with webdevs using convenience libraries built on top of IndexedDB. We will likely add promptless operation to IndexedDB.
We have already made Local Storage hurt less, we have a plan to make it relatively painless, but it will always degrade user experience when compared to something like IndexedDB.
february 2012 by jtyost2
We need to kill off the localStorage API - Tales of a Developer Advocate
february 2012 by jtyost2
It is a failure of the web, browser vendors and developers that we are in this situation, but w e need to stop advocating for and building examples that use the LocalStorage API’s, it is simply not a scalable API and the more we build for it the harder it will be for us to ween ourselves off it.
LocalStorage has poor querying capabilities, terrible performance, small storage in many browsers, crazily inconsistent eventing and a nasty habit of locking. It’s saving grace is simple semantics and “browser support”.
Client-side and offline web-apps are not a reality with localStorage, and if we keep pushing it, we are never going to be in a situation where we have a compelling offline or client-side story.
We need to bite the bullet, move on and start building compelling apps, examples and demos build around IndexedDB, that is our only future (I am still aggrieved that the web dropped WebSQL, it was simple and familiar) and we need to do this by stopping to support localStorage. Period.
localstorage
html5
webdevelopment
programming
javascript
LocalStorage has poor querying capabilities, terrible performance, small storage in many browsers, crazily inconsistent eventing and a nasty habit of locking. It’s saving grace is simple semantics and “browser support”.
Client-side and offline web-apps are not a reality with localStorage, and if we keep pushing it, we are never going to be in a situation where we have a compelling offline or client-side story.
We need to bite the bullet, move on and start building compelling apps, examples and demos build around IndexedDB, that is our only future (I am still aggrieved that the web dropped WebSQL, it was simple and familiar) and we need to do this by stopping to support localStorage. Period.
february 2012 by jtyost2
Bylines for Web Articles?
february 2012 by jtyost2
Should you say who wrote the content on your site? Sometimes yes (for credibility), sometimes no (for brevity). And rarely in mobile.
webdesign
webdevelopment
writing
content
usabality
userexperince
february 2012 by jtyost2
AskGeo | Latitude and Longitude to Time Zone Conversion Web API
february 2012 by jtyost2
AskGeo provides a simple, fast, and accurate Interactive Map, Web API and Java Library for finding out the time zone information for a given location (latitude and longitude). It's simple: you give latitude and longitude and the API returns the unix (Olson) time zone ID (e.g., "America/Chicago", "Europe/London"), the Windows Standard Name for the time zone (e.g., "Pacific Standard Time", "Central European Standard Time"), and the current offset from UTC.
api
geolocation
time
timezone
webdevelopment
february 2012 by jtyost2
Google and Microsoft Cheat on Slow-Start. Should You? (benstrong.com)
february 2012 by jtyost2
It’s getting late, so I’ll wrap this up with a few thoughts:
Fast is good. I’m excited to see that sub-100ms page loads are possible, and it’s a shame to not be able to take full advantage of modern networks because of protocol limitations (http being the limiting protocol, btw).
Being non-standards-compliant in a way that privileges their flows relative to others seems more than a little hypocritical from a company that’s making such a fuss about network neutrality.
I’m not really qualified to render judgment on whether IW10 is a net positive, but after reading the discussion (and considering that the internet hasn’t actually melted down), I’m inclined to think that it is.
I’m pretty confident that turning off slow-start entirely, as Microsoft seems to be doing in my trace, is a very bad thing (maybe even a bug).
So, this leaves the question, what should I do in my app (and what should you do in yours)? Join the arms race or sit on the sidelines and let Google have all the page-load glory? I’ll let you know what I decide (and if I do it, I’ll be sure to let you know how it works out).
Google
Microsoft
technology
HTTP
standards
webdevelopment
sysadmin
server
TCP
Fast is good. I’m excited to see that sub-100ms page loads are possible, and it’s a shame to not be able to take full advantage of modern networks because of protocol limitations (http being the limiting protocol, btw).
Being non-standards-compliant in a way that privileges their flows relative to others seems more than a little hypocritical from a company that’s making such a fuss about network neutrality.
I’m not really qualified to render judgment on whether IW10 is a net positive, but after reading the discussion (and considering that the internet hasn’t actually melted down), I’m inclined to think that it is.
I’m pretty confident that turning off slow-start entirely, as Microsoft seems to be doing in my trace, is a very bad thing (maybe even a bug).
So, this leaves the question, what should I do in my app (and what should you do in yours)? Join the arms race or sit on the sidelines and let Google have all the page-load glory? I’ll let you know what I decide (and if I do it, I’ll be sure to let you know how it works out).
february 2012 by jtyost2
Responsive text
february 2012 by jtyost2
Some websites now contain 'responsive images'. These scale (or crop) depending upon your screen's viewing area, so the image sizes remain appropriate whether you're looking at the website on a mobile phone, or on a huge flat screen monitor.
This is an example of responsive text.
The amount of textual detail scales relative to your screen size.
The effect is achieved using simple HTML class names and CSS media queries which show or hide the content depending upon the current screen width.
webdesign
webdevelopment
programming
software
html
css
css3
design
This is an example of responsive text.
The amount of textual detail scales relative to your screen size.
The effect is achieved using simple HTML class names and CSS media queries which show or hide the content depending upon the current screen width.
february 2012 by jtyost2
3.2 Elements — HTML Standard
february 2012 by jtyost2
The translate attribute is an enumerated attribute that is used to specify whether an element's attribute values and the values of its Text node children are to be translated when the page is localized, or whether to leave them unchanged.
The attribute's keywords are the empty string, yes, and no. The empty string and the yes keyword map to the yes state. The no keyword maps to the no state. In addition, there is a third state, the inherit state, which is the missing value default (and the invalid value default).
html
standards
webdesign
webdevelopment
programming
The attribute's keywords are the empty string, yes, and no. The empty string and the yes keyword map to the yes state. The no keyword maps to the no state. In addition, there is a third state, the inherit state, which is the missing value default (and the invalid value default).
february 2012 by jtyost2
Tinycon - Favicon Alerts
february 2012 by jtyost2
Tinycon allows the addition of alert bubbles and changing the favicon image. Tinycon gracefully falls back to a number in title approach for browers that don't support canvas or dynamic favicons.
Alerts in the favicon allow users to pin a tab and easily see if their attention is needed.
favicon
javascript
programming
webdevelopment
webdesign
Alerts in the favicon allow users to pin a tab and easily see if their attention is needed.
february 2012 by jtyost2
CSS Hierarchies Module Level 3
february 2012 by jtyost2
CSS is a language for describing the rendering of structured documents (such as HTML and XML) on screen, on paper, in speech, etc. This module contains the features of CSS level 3 relating to the hierarchical nesting of style rules. It includes and extends the functionality of CSS level 2 [CSS21], which builds on CSS level 1 [CSS1]. The main extension compared to level 2 is the ability to nest a style rule within another rule, allowing greater modularisation and readibility of CSS documents.
css
html
css3
w3c
standards
webdesign
webdevelopment
programming
february 2012 by jtyost2
dangrossman/Bookmarkly - GitHub
february 2012 by jtyost2
Source of bookmarkly.com, a visual bookmarking site
javascript
nodejs
programming
webdevelopment
february 2012 by jtyost2
Prevent Form Field Autocomplete
february 2012 by jtyost2
Preventing autocompletion of form fields is incredibly important since we never know where our users are completing them from. They could complete them from a super secure computer or an incredibly public computer. Regardless of security level, some field values should never be remembered, like credit card number, social security number, etc. Preventing autocompletion is as simple as adding one attribute to a FORM tag for individual form fields.
html5
html
security
programming
webdevelopment
february 2012 by jtyost2
[whatwg] Requests for new elements for comments
january 2012 by jtyost2
We already have an element for comments and other self-contained document
modules, namely, <article>. The spec in fact specifically calls out an
<article> nested in another <article> as being, by definition, a comment
on the outer <article>.
html
html5
programming
webdesign
webdevelopment
WHATWG
w3c
modules, namely, <article>. The spec in fact specifically calls out an
<article> nested in another <article> as being, by definition, a comment
on the outer <article>.
january 2012 by jtyost2
Starting Over | Get Real | Jason Fried | Inc.com
january 2012 by jtyost2
Think about a product’s life span. When something new is released to the public—and this is especially true of software—it’s hardly set in stone. You get feedback from customers and make modifications. You add features, refine existing ones, and make things better over time. If you really listen and do it right, the product earns its success.
But paradoxically, that success makes it harder to change. As time goes by, people get used to things the way they are. And the more someone is accustomed to doing something a certain way, the harder it is to ask him or her to change. When it comes to introducing ideas, the years have a way of boxing you in.
And that’s where we found ourselves with Basecamp—a successful product that was tough to change in major ways. Of course, it has evolved; over the years, we’ve made thousands of incremental improvements to the software. But now we have ideas that are more revolutionary than incremental. We think these ideas will dramatically enhance Basecamp’s speed, power, and flexibility.
software
usability
programming
userexperince
webdevelopment
webdesign
But paradoxically, that success makes it harder to change. As time goes by, people get used to things the way they are. And the more someone is accustomed to doing something a certain way, the harder it is to ask him or her to change. When it comes to introducing ideas, the years have a way of boxing you in.
And that’s where we found ourselves with Basecamp—a successful product that was tough to change in major ways. Of course, it has evolved; over the years, we’ve made thousands of incremental improvements to the software. But now we have ideas that are more revolutionary than incremental. We think these ideas will dramatically enhance Basecamp’s speed, power, and flexibility.
january 2012 by jtyost2
bcoe/DoloresLabsTechTalk - GitHub
january 2012 by jtyost2
Chrome Extension Development, By Example
googlechrome
programming
webdevelopment
january 2012 by jtyost2
Website outages and blackouts the right way (google.com)
january 2012 by jtyost2
Website outages and blackouts the right way
tl;dr: Use a 503 HTTP status code but read on for important details.
Sometimes webmasters want to take their site offline for a day or so, perhaps for server maintenance or as political protest. We’re currently seeing some recommendations being made about how to do this that have a high chance of hurting how Google sees these websites and so we wanted to give you a quick how-to guide based on our current recommendations.
seo
programming
webdesign
webdevelopment
google
searchengines
tl;dr: Use a 503 HTTP status code but read on for important details.
Sometimes webmasters want to take their site offline for a day or so, perhaps for server maintenance or as political protest. We’re currently seeing some recommendations being made about how to do this that have a high chance of hurting how Google sees these websites and so we wanted to give you a quick how-to guide based on our current recommendations.
january 2012 by jtyost2
On the Usability of Codecademy (programmingzen.com)
january 2012 by jtyost2
At that point I suspended this tiny hallway test and I asked her what she thought of this system. She found the site to be a bit unintuitive, but above all felt like she didn’t know how to get unstuck when she made an error.
Now, before you all jump in and tell me that my friend is dumb, that she’ll never be a programmer, or that you can’t idiot-proof a design, keep in mind the very point of this post.
Usability is hard because real users use our UIs and software in different and unexpected ways. Codecamedy did a very good job, but even they left plenty of room for improvement. As web developers it’s our duty to give usability and user experience a significant amount of attention. The UI is the software to the end user.
usability
design
userexperince
webdevelopment
webdesign
Now, before you all jump in and tell me that my friend is dumb, that she’ll never be a programmer, or that you can’t idiot-proof a design, keep in mind the very point of this post.
Usability is hard because real users use our UIs and software in different and unexpected ways. Codecamedy did a very good job, but even they left plenty of room for improvement. As web developers it’s our duty to give usability and user experience a significant amount of attention. The UI is the software to the end user.
january 2012 by jtyost2
javascript eval considered crazy -- wingolog
january 2012 by jtyost2
What can an engine do when it sees eval?
Not much. It can't even prove that it is actually eval unless eval is not bound lexically, there is no with, there is no intervening non-strict call to any identifier eval (regardless of whether it is eval or not), and the global object's eval property is bound to the blessed eval function, and is configured as DontDelete and ReadOnly (not the default in web browsers).
But the very fact that an engine sees a call to an identifier eval poisons optimization: because eval can introduce variables, the scope of free variables is no longer lexically apparent, in many cases.
I'll say it again: crazy!!!
eval
javascript
programming
webdevelopment
security
Not much. It can't even prove that it is actually eval unless eval is not bound lexically, there is no with, there is no intervening non-strict call to any identifier eval (regardless of whether it is eval or not), and the global object's eval property is bound to the blessed eval function, and is configured as DontDelete and ReadOnly (not the default in web browsers).
But the very fact that an engine sees a call to an identifier eval poisons optimization: because eval can introduce variables, the scope of free variables is no longer lexically apparent, in many cases.
I'll say it again: crazy!!!
january 2012 by jtyost2
steelThread/redmon - GitHub
january 2012 by jtyost2
A web interface for managing redis: cli, admin, and live monitoring
redis
ruby
programming
hardware
scalability
webdevelopment
january 2012 by jtyost2
Fbootstrapp by Clemens Krack, based on Bootstrap, from Twitter
january 2012 by jtyost2
Fbootstrapp is a toolkit designed to kickstart development of facebook iframe apps in both relevant sizes. It includes base CSS and HTML for typography, forms, buttons, tables, grids, navigation, and more, styled in the typical facebook look and feel.
facebook
programming
webdesign
webdevelopment
css
framework
january 2012 by jtyost2
adeel/veneer - GitHub
january 2012 by jtyost2
Modal dialogs in JavaScript. Depends on MooTools.
mootools
javascript
programming
webdevelopment
dialogs
january 2012 by jtyost2
jKerny.js, jQuery plugin to make kerning easy
january 2012 by jtyost2
Powered by the power of Lettering.js and inspiration drawn on Kerningjs.com, jKerny gives you the ability to use brand new pseudo-selectors (well ok... they aren't W3C valid!)
jquery
plugin
webdesign
webdevelopment
programming
kerning
typography
january 2012 by jtyost2
marcoarment/secondcrack - GitHub
january 2012 by jtyost2
A static-file Markdown blogging engine.
markdown
blogging
programming
webdevelopment
from twitter
january 2012 by jtyost2
johnpolacek/scrollorama - GitHub
january 2012 by jtyost2
The jQuery plugin for doing cool scrolly stuff
jquery
javascript
programming
webdesign
webdevelopment
january 2012 by jtyost2
Making APIs is hard
january 2012 by jtyost2
So, no, I guess APIs and languages shouldn’t be as simple as possible just for the sake of it. They should represent the functionality they seek to disguise.
api
programming
software
webdesign
webdevelopment
january 2012 by jtyost2
Read The Dinossaurs!
december 2011 by jtyost2
I never engineered a computer architecture or wrote an operating system. No software developed by my teams was ever considered “to be one of the most successful computers in history, influencing computer design for years to come” ; so when someone on his position writes something I am eager to read it; even if it is not directly applicable to my current situation.
ComputerScience
engineering
SoftwareEngineering
WebDevelopment
WebDesign
december 2011 by jtyost2
Alternate URLs (insteadOfs) for GitHub Git repos — Gist
december 2011 by jtyost2
Alternate URLs (insteadOfs) for GitHub Git repos
git
github
programming
webdevelopment
december 2011 by jtyost2
૱ All characters — CopyPasteCharacter.com
december 2011 by jtyost2
A web and iPhone application for copying the ‘hidden’ characters that comes with the computer’s typefaces, to be pasted into emails, tweets, text documents, forums and whatever else you might need to spice up with an extra ♔, ฿ or, ❒.
design
icons
typography
webdesign
webdevelopment
programming
december 2011 by jtyost2
mathiasbynens/jquery-placeholder - GitHub
december 2011 by jtyost2
A jQuery plugin which enables HTML5 placeholder behavior for browsers that aren’t trying hard enough yet
jquery
html
html5
placeholder
webdevelopment
webdesign
programming
form
december 2011 by jtyost2
fent/randexp.js - GitHub
december 2011 by jtyost2
randexp will generate a random string that matches a given RegExp Javascript object.
regularexpressions
javascript
webdevelopment
programming
december 2011 by jtyost2
The output element | HTML5 Doctor
december 2011 by jtyost2
Across the web, you’ll see a range of sites that feature calculators for working out things like loan repayments, mortgage rates, tax, insurance, and more. Until now, we’ve had no way of semantically marking up the result of those calculations. Enter: the <output> element! In this article, we’ll show you <output> and some related JavaScript tricks. Let’s get cracking.
html
html5
webdesign
webdevelopment
programming
javascript
december 2011 by jtyost2
There is No Such Thing as Proprietary Client-side JavaScript - Girl Developer
december 2011 by jtyost2
This puts the development community in a unique position. Do we copy the established business community in the money grab? Do we want to line pockets while cranking out “It’s this for that’s” with every nerd for his/herself on the terms of “my code, my product, my creation?”
We’ve seen what that has done for the remnants of the industrial age, with huge corporations being the enemy of the individual. Where corporations battle each other in the media, and keep a tight grip on information, even if it means people losing lives. Where advancements are being retarded by a legal cat and mouse game, because the information companies hold dear could help all of us the world over if they would join forces.
What a beautiful place we are at where we can make a conscious decision not to follow in their footsteps. While the internet and it’s implications are still being formed every day. When we decide that the education and advancement of future developers, our children, and the history books are more important than lining our pockets (seriously, how expensive can comfy sweatshirts and Vibram Five Finger shoes be?)
Where would we be now if John Resig decided to keep his little library to himself? If DHH kept his framework proprietary? How much further could we be if more people shared the way they did?
I’m pledging to work for an open web and open code, a place where we can all share, learn, and invent together. I hope you will too.
programming
opensource
business
ethics
WebDevelopment
We’ve seen what that has done for the remnants of the industrial age, with huge corporations being the enemy of the individual. Where corporations battle each other in the media, and keep a tight grip on information, even if it means people losing lives. Where advancements are being retarded by a legal cat and mouse game, because the information companies hold dear could help all of us the world over if they would join forces.
What a beautiful place we are at where we can make a conscious decision not to follow in their footsteps. While the internet and it’s implications are still being formed every day. When we decide that the education and advancement of future developers, our children, and the history books are more important than lining our pockets (seriously, how expensive can comfy sweatshirts and Vibram Five Finger shoes be?)
Where would we be now if John Resig decided to keep his little library to himself? If DHH kept his framework proprietary? How much further could we be if more people shared the way they did?
I’m pledging to work for an open web and open code, a place where we can all share, learn, and invent together. I hope you will too.
december 2011 by jtyost2
Hyves Product Development: October 2011
december 2011 by jtyost2
HipHop is Facebook’s open source C compiler for PHP. HipHop (also known as HPHP) will compile your PHP code to highly optimized C code, which you can then compile (with g ) into a big binary that will run your web site (it includes a web server). If you want to know more about Hiphop and how it was created, you can check out the Facebook Engineering Blog article or the Github project .
After its introduction many bloggers have written background articles regarding Hiphop but few seem to have actually used it in a production environment. At Hyves , we use HipHop to run our web servers and our daemons, which are also written in in PHP. In this blog, I will detail some of our experiences and results.
HipHop
php
programming
WebDevelopment
C
HPHP
After its introduction many bloggers have written background articles regarding Hiphop but few seem to have actually used it in a production environment. At Hyves , we use HipHop to run our web servers and our daemons, which are also written in in PHP. In this blog, I will detail some of our experiences and results.
december 2011 by jtyost2
CSS3 Generator
december 2011 by jtyost2
CSS3 Generator
css
css3
webdesign
webdevelopment
programming
december 2011 by jtyost2
gridr buildrrr
december 2011 by jtyost2
Build a grid
design
webdesign
webdevelopment
programming
layout
december 2011 by jtyost2
html - How can I determine a web user's time zone? - Stack Overflow
december 2011 by jtyost2
Is there a standard way for a web server to determine what time zone offset a user is in?
From an HTTP header or part of the user-agent description, perhaps?
timezone
webdevelopment
From an HTTP header or part of the user-agent description, perhaps?
december 2011 by jtyost2
HTML5 Cross Browser Polyfills - GitHub
december 2011 by jtyost2
So here we're collecting all the shims, fallbacks, and polyfills in order to implant html5 functionality in browsers that don't natively support them.
The general idea is that: we, as developers, should be able to develop with the HTML5 apis, and scripts can create the methods and objects that should exist. Developing in this future-proof way means as users upgrade, your code doesn't have to change but users will move to the better, native experience cleanly.
Looking for a way to conditionally load these scripts client-side based on feature detects? See Modernizr. Looking for a guide to writing your own polyfills? See Writing Cross-Browser JavaScript Polyfills.
html5
css3
css
html
programming
polyfill
shim
javascript
webdevelopment
The general idea is that: we, as developers, should be able to develop with the HTML5 apis, and scripts can create the methods and objects that should exist. Developing in this future-proof way means as users upgrade, your code doesn't have to change but users will move to the better, native experience cleanly.
Looking for a way to conditionally load these scripts client-side based on feature detects? See Modernizr. Looking for a guide to writing your own polyfills? See Writing Cross-Browser JavaScript Polyfills.
december 2011 by jtyost2
Scripting News: Why apps are not the future
december 2011 by jtyost2
I'll keep playing here while the rest of you flirt with apps. I'll be here when you come back. I know it's going to happen. Here's why.
Linking.
Visualize each of the apps they want you to use on your iPad or iPhone as a silo. A tall vertical building. It might feel very large on the inside, but nothing goes in or out that isn't well-controlled by the people who created the app. That sucks!
The great thing about the web is linking. I don't care how ugly it looks and how pretty your app is, if I can't link in and out of your world, it's not even close to a replacement for the web. It would be as silly as saying that you don't need oceans because you have a bathtub. How nice your bathtub is. Try building a continent around it if you want to get my point.
webdevelopment
programming
business
Linking.
Visualize each of the apps they want you to use on your iPad or iPhone as a silo. A tall vertical building. It might feel very large on the inside, but nothing goes in or out that isn't well-controlled by the people who created the app. That sucks!
The great thing about the web is linking. I don't care how ugly it looks and how pretty your app is, if I can't link in and out of your world, it's not even close to a replacement for the web. It would be as silly as saying that you don't need oceans because you have a bathtub. How nice your bathtub is. Try building a continent around it if you want to get my point.
december 2011 by jtyost2
inessential.com: Apps and web apps and the future
december 2011 by jtyost2
I think we’ll have both with us for a long time.
There’s one simple reason that should suffice: some developers love writing apps and some love writing web apps, and some love writing both.
This means that people will keep making both kinds of apps. One thing we’ve learned about developers is that economics matters, but love matters too, and many developers will make the kind of software they love to make.
iphone
ios
programming
webdevelopment
There’s one simple reason that should suffice: some developers love writing apps and some love writing web apps, and some love writing both.
This means that people will keep making both kinds of apps. One thing we’ve learned about developers is that economics matters, but love matters too, and many developers will make the kind of software they love to make.
december 2011 by jtyost2
shutterstock/rickshaw - GitHub
december 2011 by jtyost2
Rickshaw is a JavaScript toolkit for creating interactive real-time graphs.
javascript
graph
json
programming
webdevelopment
december 2011 by jtyost2
Google Earth, other mobile apps leave door open for scripting attacks
december 2011 by jtyost2
At today's TakeDownCon security conference in Las Vegas, researcher Kyle Osborn will present some examples of cross-site scripting attacks that he and colleagues have discovered on mobile devices. "XSS is generally considered to be a browser attack," Osborn said in an interview with Ars Technica. But many applications, he said, such as those built with cross-platform mobile-development tools like PhoneGap, use HTML rendering to handle display of data. If applications aren't properly coded, it's possible for JavaScript or other web-based attacks to be injected into them through externally-provided data. "Often, there are times when you can just make a JavaScript request and pull files from the local filesystem," he said.
The most recent example Osborn found is a vulnerability in the Google Earth app that allows execution of arbitrary JavaScript code on the device by embedding script in location data. The vulnerability, demonstrated below, is present across all the platforms Osborn has tested. He says that the flaw has been reported to Google.
security
hacking
privacy
webdevelopment
The most recent example Osborn found is a vulnerability in the Google Earth app that allows execution of arbitrary JavaScript code on the device by embedding script in location data. The vulnerability, demonstrated below, is present across all the platforms Osborn has tested. He says that the flaw has been reported to Google.
december 2011 by jtyost2
necolas/css3-social-signin-buttons - GitHub
november 2011 by jtyost2
CSS3 Social Sign-in Buttons with icons. Small and large sizes.
css
css3
webdesign
webdevelopment
buttons
programming
html
november 2011 by jtyost2
Third Party JavaScript | Socialcast Engineering
november 2011 by jtyost2
I find it helpful to frame the Third Party JS model in terms of a diplomatic mission. As an invited guest in a foreign place, you should be both respectful and cautious of the new environment. As an emissary, you should be excited to augment the page with your own unique functionality. JavaScript gives you the opportunity to radically change an application for the better, but only when executed carefully (there is no “diplomatic immunity” for Third Party JavaScript). This article outlines some of the lessons learned from developing and supporting Reach’s JavaScript library with the Socialcast Engineering team.
javascript
programming
webdevelopment
november 2011 by jtyost2
johnpolacek/ResponsiveThumbnailGallery - GitHub
november 2011 by jtyost2
jQuery Plugin for creating image galleries that scale to fit their container.
jquery
plugin
responsivedesign
webdesign
webdevelopment
images
ImageGallery
november 2011 by jtyost2
Announcing jQuery Mobile 1.0 | jQuery Mobile
november 2011 by jtyost2
That’s right, version 1.0 is out! After more than a year of refinements, we now have a rock solid release.
When we first launched this site back in the summer of 2010, we had a few concept sketches and some very ambitions goals: to create an elegant HTML5-based user interface library for the jQuery community designed to work on all popular mobile platforms. We are built on the strengths of jQuery core and jQuery UI and strive to make mobile development efficient, accessible and maybe even a bit fun.
To reach the broadest possible audience, we decided from the start to make the framework work on every popular mobile, tablet, e-reader and even desktop platforms by embracing HTML5 and responsive design techniques. A tall order, but we’re happy to announce that we’ve achieved this goal and now support all our target platforms as of 1.0. By using a progressive enhancement approach, even less capable devices can still access the content and functionality of a jQuery Mobile site. This broad compatibility gives you the ability to reach many billions of people.
jquery
jquerymobile
javascript
webdesign
webdevelopment
programming
When we first launched this site back in the summer of 2010, we had a few concept sketches and some very ambitions goals: to create an elegant HTML5-based user interface library for the jQuery community designed to work on all popular mobile platforms. We are built on the strengths of jQuery core and jQuery UI and strive to make mobile development efficient, accessible and maybe even a bit fun.
To reach the broadest possible audience, we decided from the start to make the framework work on every popular mobile, tablet, e-reader and even desktop platforms by embracing HTML5 and responsive design techniques. A tall order, but we’re happy to announce that we’ve achieved this goal and now support all our target platforms as of 1.0. By using a progressive enhancement approach, even less capable devices can still access the content and functionality of a jQuery Mobile site. This broad compatibility gives you the ability to reach many billions of people.
november 2011 by jtyost2
DataZombies/DBi - GitHub
november 2011 by jtyost2
DBi handles all the work of creating an iOS or Safari WebSQL database and manages local/session storages.
DBi creates, tables, indices, triggers & views and populates the tables all from a single JSON file that's outputted from DBi.
html5
localstorage
websql
html
javascript
programming
webdevelopment
webdesign
DBi creates, tables, indices, triggers & views and populates the tables all from a single JSON file that's outputted from DBi.
november 2011 by jtyost2
Analyzing Network Characteristics Using JavaScript And The DOM, Part 1 - Smashing Coding
november 2011 by jtyost2
In this article, we’ll look at some methods of manipulating JavaScript to determine various network characteristics from within the browser — characteristics that were previously available only to applications that directly interface with the operating system. Much of this was discovered while building the Boomerang project to measure real user performance.
javascript
internet
programming
webdevelopment
tcp
http
november 2011 by jtyost2
jClassy
november 2011 by jtyost2
A JavaScript library is proposed and implemented, providing a class-system core for building object-oriented JavaScript programs.
javascript
library
programming
webdevelopment
november 2011 by jtyost2
recurly/recurly-js - GitHub
november 2011 by jtyost2
Full Reference: http://docs.recurly.com/recurlyjs/reference/
Recurly.js is an open-source Javascript library for creating great looking credit card forms to securely create subscriptions, one-time transactions, and update billing information using Recurly. The library is designed to create fully customizable order forms while minimizing your PCI compliance scope.
This library depends on jQuery 1.5.2+. A future version may be framework agnostic.
javascript
pci
ecommerce
webdesign
webdevelopment
programming
Recurly.js is an open-source Javascript library for creating great looking credit card forms to securely create subscriptions, one-time transactions, and update billing information using Recurly. The library is designed to create fully customizable order forms while minimizing your PCI compliance scope.
This library depends on jQuery 1.5.2+. A future version may be framework agnostic.
november 2011 by jtyost2
Native JavaScript H.264 decoder offers compelling demo of JS performance
november 2011 by jtyost2
Mozilla developer Michael Bebenita has released a JavaScript-based H.264 decoder that is intended to run natively in Web browsers. The decoder, which can display video at 30 frames per second on conventional hardware, is yet another compelling demonstration of JavaScript’s performance potential.
JavaScript creator Brendan Eich included a demonstration of the H.264 decoder—codenamed Broadway—during a presentation at the ACM’s annual OOPSLA conference. The demonstration attracted some attention, prompting the developers to publish the source code.
Broadway is based on the open source H.264 decoder that Google uses in Android. The Mozilla developers simplified the Android H.264 decoder—which is written in the C programming language—and converted it to JavaScript. They used Emscripten, a compiler that translates LLVM bitcode into JavaScript. In addition to the Emscripten-generated H.264 decoder, the Broadway developers are also working on a separate implementation that is coded by hand.
According to the Emscripten documentation, code generated by the compiler typically runs about 10 times slower than the equivalent binary that you would get by compiling the same C code with the -O3 flag in GCC. But some recent JavaScript performance optimizations in Firefox improve performance.
The Broadway developers caution that the H.264 decoder will only perform as expected in recent Firefox nightly builds, which incorporate the latest JavaScript performance improvements—particularly a new type inference mechanism that gives JavaScript execution speed a considerable boost.
The Broadway project offers useful insight into JavaScript performance characteristics, but its not really intended for real-world usage. Mozilla’s objections to H.264 on the basis of patent encumbrances still stand and make it unlikely that users will see the video codec supported out of the box in Firefox.
Broadway is also highly CPU-intensive, which makes it impractical to use. That could change in the future, however. Hardware acceleration could be achieved via WebGL, reducing the decoder’s load on the CPU. The initial Broadway implementation didn’t include any special optimizations, aside from the ones applied by Emscripten. The developers were able to crank its performance up by 40 percent this week with some tweaking. Bebenita says that there is still plenty of room for further speedups.
Mozilla
JavaScript
H.264
firefox
webdevelopment
browser
from instapaper
JavaScript creator Brendan Eich included a demonstration of the H.264 decoder—codenamed Broadway—during a presentation at the ACM’s annual OOPSLA conference. The demonstration attracted some attention, prompting the developers to publish the source code.
Broadway is based on the open source H.264 decoder that Google uses in Android. The Mozilla developers simplified the Android H.264 decoder—which is written in the C programming language—and converted it to JavaScript. They used Emscripten, a compiler that translates LLVM bitcode into JavaScript. In addition to the Emscripten-generated H.264 decoder, the Broadway developers are also working on a separate implementation that is coded by hand.
According to the Emscripten documentation, code generated by the compiler typically runs about 10 times slower than the equivalent binary that you would get by compiling the same C code with the -O3 flag in GCC. But some recent JavaScript performance optimizations in Firefox improve performance.
The Broadway developers caution that the H.264 decoder will only perform as expected in recent Firefox nightly builds, which incorporate the latest JavaScript performance improvements—particularly a new type inference mechanism that gives JavaScript execution speed a considerable boost.
The Broadway project offers useful insight into JavaScript performance characteristics, but its not really intended for real-world usage. Mozilla’s objections to H.264 on the basis of patent encumbrances still stand and make it unlikely that users will see the video codec supported out of the box in Firefox.
Broadway is also highly CPU-intensive, which makes it impractical to use. That could change in the future, however. Hardware acceleration could be achieved via WebGL, reducing the decoder’s load on the CPU. The initial Broadway implementation didn’t include any special optimizations, aside from the ones applied by Emscripten. The developers were able to crank its performance up by 40 percent this week with some tweaking. Bebenita says that there is still plenty of room for further speedups.
november 2011 by jtyost2
BBC News - EU bans pre-ticked website boxes to aid consumers
october 2011 by jtyost2
"Pre-ticked" boxes on shopping websites will be banned in European Union states under newly approved legislation.
EU ministers meeting in Luxembourg have passed a set of rules aimed at strengthening consumer rights, which the EU parliament backed in June.
They mean online traders will have to disclose the total cost of a product - including fees - and customers will have to actively opt-in to extras.
Member countries will have two years to implement the rules nationally.
legal
webdesign
webdevelopment
programming
EuropeanUnion
privacy
EU ministers meeting in Luxembourg have passed a set of rules aimed at strengthening consumer rights, which the EU parliament backed in June.
They mean online traders will have to disclose the total cost of a product - including fees - and customers will have to actively opt-in to extras.
Member countries will have two years to implement the rules nationally.
october 2011 by jtyost2
PHP needs to die. What will replace it? | Seldo.Com Blog
october 2011 by jtyost2
Ten years later, I can feel the tide turning again. Developers' expectations of languages have moved on. If the critical thing Perl was lacking was PHP's wonderfully flexible "associative arrays" (aka smart hashes), then what PHP is lacking is lambdas and method chaining. While PHP used to be the language where you could write a web page in twenty lines of code, nowadays it doesn't feel like you're doing it properly unless you've laid down at least a basic MVC framework of some kind. That boilerplate code is the tell: the language now requires modification by a framework to do what you need.
Back then, I felt the die-hards clinging to Perl for web development were silly. Now, with ten years of PHP experience under my belt, I'm in the same position. I can knock out a good website in an hour in PHP, and an excellent one in a day or two. Its performance characteristics are well-known and understood, so I can make it scale pretty much indefinitely. Every developer we'd want to hire knows it, and every system we'd integrate with has a wrapper library written in it. I am trapped by the convenience of PHP in a language that is losing its suitability for the task.
php
perl
language
ruby
RubyOnRails
webdevelopment
programming
Back then, I felt the die-hards clinging to Perl for web development were silly. Now, with ten years of PHP experience under my belt, I'm in the same position. I can knock out a good website in an hour in PHP, and an excellent one in a day or two. Its performance characteristics are well-known and understood, so I can make it scale pretty much indefinitely. Every developer we'd want to hire knows it, and every system we'd integrate with has a wrapper library written in it. I am trapped by the convenience of PHP in a language that is losing its suitability for the task.
october 2011 by jtyost2
Email, phone home: Initiating voice calls from HTML email newsletters - Blog - Campaign Monitor
october 2011 by jtyost2
Once upon a time, mobile devices were primarily used for calling other people. That was long ago and since then, we've graduated to using our iPhones and Androids primarily to play Angry Birds. Nonetheless, voice calling still has its place in the world.
There are loads of businesses that rely on phone calls to make their bread-and-butter - from Thai take-out joints, to your local salon. Perhaps even you and your clients fit into this category, too!
In this post, we're going to look at how you can get your subscribers to place calls from an HTML email newsletter received in their desktop, web or mobile email client. You heard it - we're not talking about maximizing click-throughs, but call-throughs. Featured is an example HTML email newsletter (pictured) which you can download, adapt and use to learn more about this technique.
webdesign
webdevelopment
programming
css
email
There are loads of businesses that rely on phone calls to make their bread-and-butter - from Thai take-out joints, to your local salon. Perhaps even you and your clients fit into this category, too!
In this post, we're going to look at how you can get your subscribers to place calls from an HTML email newsletter received in their desktop, web or mobile email client. You heard it - we're not talking about maximizing click-throughs, but call-throughs. Featured is an example HTML email newsletter (pictured) which you can download, adapt and use to learn more about this technique.
october 2011 by jtyost2
When "clever" goes wrong: how Etsy overcame poor architectural choices
october 2011 by jtyost2
Things began to change as the engineering culture shifted, Snyder said. "We went from lockdown to DevOps," he explained, and the boundaries between teams were largely removed. With Dickerson's arrival, Etsy's team started to take on a significant amount of "Flickr's DNA", he said, and shifted toward a more agile, DevOps approach to development.
That culture includes frequent, small software releases, and giving developers access to operations' monitoring tools to watch performance and access to systems to help tweak them. "Not every developer has root on every box," Snyder said, "but by and large you can get everywhere and look at things. The core platform team needs a certain level of access. I think we err on the side of too much access instead of too little."
The first step down that path to escaping from the architectural hole Etsy had put itself in was stabilizing Sprouter and the rest of the infrastructure. That included improving metrics and monitoring of performance—which, Snyder joked, could be improved by “having any metrics and monitoring.” The engineering team also upgraded Etsy's database hardware as much as practically possible. “We upgraded the master database to the limits of what was possible,” Snyder said. “It still wasn't enough, but it bought us breathing room.”
With that little bit of breathing room (and the accompanying downtime for the upgrade), Etsy began to shift to a new architecture—still based on PHP on the front end, but now running on Apache web servers with connections to databases directly through object-relational mapping.
And the team started to shift feature by feature away from a semi-monolithic Postgres back-end to sharded MySQL databases. “It's a battle-tested approach,” Snyder said. “Flickr is using it on an enormous scale. It scales horizontally, basically, to near infinity, and there's no single point of failure—it's all master to master replication.”
With frequent small releases, and incremental migration of features away from Sprouter, it took until spring of this year for Etsy to completely move off the middleware and turn it off for good. “I got to be the one to remove it from source control,” Snyder said. The Postgres database, however, still remains—and likely will for some time.
One of the lessons learned from Sprouter, Snyder said, was that “if you're doing something 'clever," you're probably doing it wrong.” At the same time, he admits, he and the others at Etsy today are probably making architectural decisions that others will look back with hindsight at and find fault with.
technology
programming
scalability
webdevelopment
etsy
That culture includes frequent, small software releases, and giving developers access to operations' monitoring tools to watch performance and access to systems to help tweak them. "Not every developer has root on every box," Snyder said, "but by and large you can get everywhere and look at things. The core platform team needs a certain level of access. I think we err on the side of too much access instead of too little."
The first step down that path to escaping from the architectural hole Etsy had put itself in was stabilizing Sprouter and the rest of the infrastructure. That included improving metrics and monitoring of performance—which, Snyder joked, could be improved by “having any metrics and monitoring.” The engineering team also upgraded Etsy's database hardware as much as practically possible. “We upgraded the master database to the limits of what was possible,” Snyder said. “It still wasn't enough, but it bought us breathing room.”
With that little bit of breathing room (and the accompanying downtime for the upgrade), Etsy began to shift to a new architecture—still based on PHP on the front end, but now running on Apache web servers with connections to databases directly through object-relational mapping.
And the team started to shift feature by feature away from a semi-monolithic Postgres back-end to sharded MySQL databases. “It's a battle-tested approach,” Snyder said. “Flickr is using it on an enormous scale. It scales horizontally, basically, to near infinity, and there's no single point of failure—it's all master to master replication.”
With frequent small releases, and incremental migration of features away from Sprouter, it took until spring of this year for Etsy to completely move off the middleware and turn it off for good. “I got to be the one to remove it from source control,” Snyder said. The Postgres database, however, still remains—and likely will for some time.
One of the lessons learned from Sprouter, Snyder said, was that “if you're doing something 'clever," you're probably doing it wrong.” At the same time, he admits, he and the others at Etsy today are probably making architectural decisions that others will look back with hindsight at and find fault with.
october 2011 by jtyost2
PhoneGap to become an Apache project as Adobe acquires Nitobi
october 2011 by jtyost2
Adobe has entered an agreement to acquire Nitobi, the startup behind PhoneGap. Alongside news of the acquisition, Adobe and Nitobi have jointly announced plans to donate the PhoneGap project to the Apache Software Foundation.
PhoneGap is an open source mobile development framework for building applications with standards-based Web technologies. The project provides a cross-platform Web runtime that allows application developers to reach multiple mobile operating systems with a single code base. It includes a custom API stack that enables platform integration and exposes device capabilities.
The PhoneGap APIs are generalized so that the same code can be used across multiple operating systems for tasks like accessing the camera or addressbook. The goal of PhoneGap is to make it possible for local Web applications to have the same functionality as native software. The framework currently supports iOS, Android, the Blackberry OS, webOS, Symbian, and Bada—though not all of the features are supported on every platform.
PhoneGap applications can be distributed through the conventional application stores of the various mobile software platforms—it fully conforms with the rules and policies set by the platform vendors. In addition to developing PhoneGap, Nitobi has also created a hosted build service that can automatically generate packages for the various platforms.
Adobe's AIR software was originally conceived as a cross-platform Web runtime in much the same vein as PhoneGap, but the focus of the product has narrowed considerably in recent years. The mobile versions of AIR, for example, only supports Flash. Adobe intends to embrace PhoneGap for building applications with Web technologies while continuing to develop AIR as a solution for deploying Flash content—the two runtimes can complement each other instead of competing.
Adobe's historically solipsistic view of the Web and the vitriol that certain employees of the company have directed towards advancements in Web standards raise some questions about how the company will proceed with PhoneGap. Fortunately, it looks like Adobe has good plans for the open source project.
phonegap
adobe
mobile
apache
ApacheSoftwareFoundation
webdesign
webdevelopment
programming
html5
flash
PhoneGap is an open source mobile development framework for building applications with standards-based Web technologies. The project provides a cross-platform Web runtime that allows application developers to reach multiple mobile operating systems with a single code base. It includes a custom API stack that enables platform integration and exposes device capabilities.
The PhoneGap APIs are generalized so that the same code can be used across multiple operating systems for tasks like accessing the camera or addressbook. The goal of PhoneGap is to make it possible for local Web applications to have the same functionality as native software. The framework currently supports iOS, Android, the Blackberry OS, webOS, Symbian, and Bada—though not all of the features are supported on every platform.
PhoneGap applications can be distributed through the conventional application stores of the various mobile software platforms—it fully conforms with the rules and policies set by the platform vendors. In addition to developing PhoneGap, Nitobi has also created a hosted build service that can automatically generate packages for the various platforms.
Adobe's AIR software was originally conceived as a cross-platform Web runtime in much the same vein as PhoneGap, but the focus of the product has narrowed considerably in recent years. The mobile versions of AIR, for example, only supports Flash. Adobe intends to embrace PhoneGap for building applications with Web technologies while continuing to develop AIR as a solution for deploying Flash content—the two runtimes can complement each other instead of competing.
Adobe's historically solipsistic view of the Web and the vitriol that certain employees of the company have directed towards advancements in Web standards raise some questions about how the company will proceed with PhoneGap. Fortunately, it looks like Adobe has good plans for the open source project.
october 2011 by jtyost2
Google Analytics Blog: What’s happening on your site right now?
september 2011 by jtyost2
The web is getting faster, and not just the speed of the pages, but also the speed of change. Before, it was fine to build a website and modify it only when new products were launched. All of us avid Analytics users know that’s just not good enough. We need to be constantly on the lookout for problems and opportunities.
Currently, Google Analytics does a great job analyzing past performance. Today we’re very excited to bring real time data to Google Analytics with the launch of Google Analytics Real-Time: a set of new reports that show what’s happening on your site as it happens.
googleanalytics
google
business
statistics
webdevelopment
programming
Currently, Google Analytics does a great job analyzing past performance. Today we’re very excited to bring real time data to Google Analytics with the launch of Google Analytics Real-Time: a set of new reports that show what’s happening on your site as it happens.
september 2011 by jtyost2
Google Analytics Blog: Introducing Google Analytics Premium
september 2011 by jtyost2
We built Google Analytics on the principle of democratizing data-- giving all website owners, big and small, the ability to learn from their visitors. Many websites use Google Analytics, ranging from personal blogs to large enterprises whose products and services we use daily.
We learned from some of our largest customers that they have some specific needs that the current version of Google Analytics can't meet in their entirety. Today we're addressing these needs by announcing a new option built for our largest customers: Google Analytics Premium.
We developed Google Analytics Premium around these pillars: more data, advanced tools, dedicated support and guarantees.
googleanalytics
statistics
webdevelopment
programming
google
business
We learned from some of our largest customers that they have some specific needs that the current version of Google Analytics can't meet in their entirety. Today we're addressing these needs by announcing a new option built for our largest customers: Google Analytics Premium.
We developed Google Analytics Premium around these pillars: more data, advanced tools, dedicated support and guarantees.
september 2011 by jtyost2
BluCSS
september 2011 by jtyost2
BluCSS is a CSS framework designed with ease of use and simplicity in mind. It is specifically made so that when you're working on your next project, you don't have to worry about the essentials. With BluCSS, you can be up and running in less than a minute.
design
framework
css
css3
responsivedesign
webdesign
webdevelopment
september 2011 by jtyost2
Will Developers Adopt Adobe Flash 11? - NYTimes.com
september 2011 by jtyost2
Adobe, the software company, introduced on Wednesday the latest version of the Adobe Flash Player, which it hopes will broaden the appeal of the software to televisions and 3-D gaming. But the company will have to persuade developers to adopt the software for interactivity on the Web and online video as many opt for HTML5 instead.
Until now, Adobe Flash has been primarily used on the Web and on Flash-supported mobile devices. The latest Adobe update shows an emphasis by the company to support 3-D gaming and new features that will enable developers to create high-resolution Flash content for televisions.
In a blog post on Adobe’s Web site, Tom Nguyen, Adobe’s product manager for the Flash player, said Adobe had added a feature to its software called Stage 3D, which enabled rendering performance 1,000 times faster than Flash Player 10. You can see an example of a game using the latest 3-D features above.
adobe
flash
html5
webdevelopment
programming
Until now, Adobe Flash has been primarily used on the Web and on Flash-supported mobile devices. The latest Adobe update shows an emphasis by the company to support 3-D gaming and new features that will enable developers to create high-resolution Flash content for televisions.
In a blog post on Adobe’s Web site, Tom Nguyen, Adobe’s product manager for the Flash player, said Adobe had added a feature to its software called Stage 3D, which enabled rendering performance 1,000 times faster than Flash Player 10. You can see an example of a game using the latest 3-D features above.
september 2011 by jtyost2
The Great Lie - Lorem Ipsum | ignoredByDinosaurs
september 2011 by jtyost2
If you do the design first and the copy last, you lose. If you do the copy first and the design second, you stand a much better chance at succeeding with both.
webdesign
webdevelopment
programming
design
copywriting
september 2011 by jtyost2
idealforms - Ideal Forms is a small framework to build powerful and beautiful forms for the web. - Google Project Hosting
september 2011 by jtyost2
Ideal Forms is a small framework to build powerful and beautiful forms for the web.
It's very easy to use and requires minimal html syntax.
Absolutely everything is stylable with css, no images needed.
Support for IE7+, Firefox 3.5+, Chrome 4+, Safari 3.1+ and Opera 11+.
Degrades gracefully with javascript disabled.
Visit http://www.jqidealforms.com for more info.
jquery
javascript
programming
webdesign
webdevelopment
It's very easy to use and requires minimal html syntax.
Absolutely everything is stylable with css, no images needed.
Support for IE7+, Firefox 3.5+, Chrome 4+, Safari 3.1+ and Opera 11+.
Degrades gracefully with javascript disabled.
Visit http://www.jqidealforms.com for more info.
september 2011 by jtyost2
google-api-php-client - Google APIs Client Library for PHP - Google Project Hosting
september 2011 by jtyost2
The Google API Client Library enables you to work with Google APIs such as Buzz, Moderator, Tasks, or Latitude on your server, in the language of your choice ( as long as it's PHP :P )
php
google
api
programming
webdevelopment
september 2011 by jtyost2
Google Swiffy
september 2011 by jtyost2
Swiffy converts Flash SWF files to HTML5, allowing you to reuse Flash content on devices without a Flash player (such as iPhones and iPads).
Swiffy currently supports a subset of SWF 8 and ActionScript 2.0, and the output works in all Webkit browsers such as Chrome and Mobile Safari. If possible, exporting your Flash animation as a SWF 5 file might give better results.
swiffy
html5
flash
google
webdesign
webdevelopment
programming
Swiffy currently supports a subset of SWF 8 and ActionScript 2.0, and the output works in all Webkit browsers such as Chrome and Mobile Safari. If possible, exporting your Flash animation as a SWF 5 file might give better results.
september 2011 by jtyost2
related tags
#failwhale ⊕ abtesting ⊕ accessibility ⊕ adobe ⊕ advertising ⊕ ajax ⊕ ala ⊕ amazon.com ⊕ AmazonElastiCache ⊕ AmazonSES ⊕ AmazonWebServices ⊕ antialiasing ⊕ apache ⊕ ApacheSoftwareFoundation ⊕ api ⊕ appcache ⊕ apple ⊕ audio ⊕ audo ⊕ backup ⊕ banner ⊕ benchmark ⊕ bestpractices ⊕ blogazine ⊕ blogging ⊕ boilerplate ⊕ breadcrumbs ⊕ browser ⊕ browsers ⊕ business ⊕ button ⊕ buttons ⊕ C ⊕ cache ⊕ CakePHP ⊕ canvas ⊕ captcha ⊕ career ⊕ china ⊕ clearfix ⊕ clickevent ⊕ clients ⊕ cloud-computing ⊕ cloudcomputing ⊕ cms ⊕ codehiglight ⊕ CodeIgniter ⊕ coffeescript ⊕ communication ⊕ compression ⊕ computer ⊕ ComputerScience ⊕ content ⊕ copyright ⊕ copywriting ⊕ couchdb ⊕ creditcard ⊕ cryptography ⊕ css ⊕ css3 ⊕ CSSAnimation ⊕ cssanimations ⊕ cssframework ⊕ csslint ⊕ csstabs ⊕ culture ⊕ curl ⊕ database ⊕ datauri ⊕ decoder ⊕ design ⊕ development ⊕ dialogs ⊕ digg ⊕ dojo ⊕ domain ⊕ draganddrop ⊕ dropdown ⊕ ecommerce ⊕ education ⊕ email ⊕ encryption ⊕ engineering ⊕ environment ⊕ ethics ⊕ etsy ⊕ EuropeanUnion ⊕ eval ⊕ extensions ⊕ facebook ⊕ FacebookOpenGraph ⊕ failwhale ⊕ favicon ⊕ feedburner ⊕ firefox ⊕ flash ⊕ flickr ⊕ float ⊕ font ⊕ fontsize ⊕ form ⊕ forums ⊕ framework ⊕ games ⊕ geek ⊕ geolocation ⊕ git ⊕ github ⊕ gmail ⊕ google ⊕ googleanalytics ⊕ googleandroid ⊕ GoogleCalendar ⊕ googlecdn ⊕ googlechrome ⊕ googlechromeframe ⊕ googledocs ⊕ googlegears ⊕ GooglePageSpeed ⊕ GooglePlus ⊕ GoogleSites ⊕ GoogleTalk ⊕ graph ⊕ graphics ⊕ gzip ⊕ H.264 ⊕ hacking ⊕ hardware ⊕ health ⊕ heatmap ⊕ highcharts ⊕ HipHop ⊕ hover ⊕ HPHP ⊕ html ⊕ html5 ⊕ html5audio ⊕ html5form ⊕ html5video ⊕ http ⊕ HTTPArchive ⊕ httpheaders ⊕ HumanComputerInteraction ⊕ humor ⊕ icons ⊕ ide ⊕ ie ⊕ ie6 ⊕ ie7 ⊕ ie8 ⊕ ie9 ⊕ iframe ⊕ illustration ⊕ ImageGallery ⊕ images ⊕ information ⊕ instapaper ⊕ internet ⊕ internetexplorer ⊕ ios ⊕ ios5 ⊕ ipad ⊕ iphone ⊕ java ⊕ javascript ⊕ jformer ⊕ journalism ⊕ jpeg ⊕ jquery ⊕ jquery1.6 ⊕ jquery1.6.2 ⊕ jquerymobile ⊕ jqueryui ⊕ json ⊕ kerning ⊕ keyboard ⊕ language ⊕ layout ⊕ legal ⊕ less ⊕ library ⊕ lifestream ⊕ lint ⊕ localstorage ⊕ login ⊕ macosx ⊕ magazine ⊕ markdown ⊕ marketing ⊕ media ⊕ medicine ⊕ Memcache ⊕ menu ⊕ metadata ⊕ microsoft ⊕ microsoftoffice ⊕ mobile ⊕ mobilesafari ⊕ mockingbird ⊕ mockup ⊕ modal ⊕ model ⊕ mootools ⊕ Mozilla ⊕ MozillaFirefox ⊕ mp3 ⊕ multiselect ⊕ mysql ⊕ navigation ⊕ node.js ⊕ nodejs ⊕ notification ⊕ opensource ⊕ opera ⊕ optimization ⊕ pagination ⊕ password ⊕ PaymentProcessor ⊕ pci ⊕ pdf ⊕ performance ⊕ perl ⊕ phonegap ⊕ photography ⊕ php ⊕ php5 ⊕ php5.4 ⊕ phpfog ⊕ placeholder ⊕ placeholderimages ⊕ plugin ⊕ polyfill ⊕ popup ⊕ printdesign ⊕ privacy ⊕ programming ⊕ progressbars ⊕ projectmanagement ⊕ publishing ⊕ QapTcha ⊕ qrcode ⊕ quotes ⊕ redis ⊕ regex ⊕ regularexpressions ⊕ research ⊕ responsivedesign ⊕ responsivewebdesign ⊕ rest ⊕ rotator ⊕ ruby ⊕ rubyonrails ⊕ safari ⊕ scalability ⊕ search ⊕ searchengine ⊕ searchengines ⊕ security ⊕ seo ⊕ server ⊕ shim ⊕ sitemap ⊕ slider ⊕ soap ⊕ socialmedia ⊕ socialnetworking ⊕ software ⊕ SoftwareEngineering ⊕ sorting ⊕ sprite ⊕ sprites ⊕ standards ⊕ statistics ⊕ swiffy ⊕ sysadmin ⊕ tables ⊕ tabs ⊕ tcp ⊕ technology ⊕ template ⊕ testing ⊕ time ⊕ timestamp ⊕ timezone ⊕ tooltip ⊕ twitter ⊕ TwitterBootstrap ⊕ typography ⊕ ui ⊕ url ⊕ usabality ⊕ usability ⊕ userexperience ⊕ userexperince ⊕ userinterface ⊕ validation ⊕ vectormap ⊕ venndiagram ⊕ VerticalCenter ⊕ video ⊕ w3c ⊕ webdesign ⊕ webdevelopment ⊖ webgl ⊕ webkit ⊕ webos ⊕ webputty ⊕ websql ⊕ webstandards ⊕ WHATWG ⊕ windows ⊕ wordpres2.9 ⊕ wordpress ⊕ wordpress-themes ⊕ wordpress3.0 ⊕ wordpressplugin ⊕ writing ⊕ xhtml ⊕ xml ⊕ xmlhttprequest ⊕Copy this bookmark: