Profile

Cover photo
Pelle Wessman
Works at Pelles Kodfabrik
Lives in Malmö, Sweden
940 followers
AboutPostsPhotos+1's

Stream

Pelle Wessman

Shared publicly  - 
 
 
Between the coming release of ES6 and unrelenting competition for JIT performance, these are exciting times for JavaScript. But an area where JS still lags ...
2 comments on original post
1
Add a comment...

Pelle Wessman

Shared publicly  - 
 
Finding it rather funny, and a bit annoying, that +Google Developers are still pointing out tweaks about +Google Maps assets when you run +Page Speed on a site that uses Google Maps.

I did so again now and when Page Speed Insights tells me to optimize images and cache things better the only unoptimized, non-cached things they point me to are Google Maps assets.

It would be rather nice if Page Speed would separate things they know I can't fix from things I might be able to fix and Google Maps seems like a thing that Google can certainly be very aware of that I can't be "fixing" (and my guess is also that there is no "fixing" to be made but that the unoptimized images and the non-cached assets are that way for some specific reason – otherwise I'm sure it would have been fixed a long time ago).
2
Add a comment...

Pelle Wessman

Shared publicly  - 
 
 
Open web progress! Take notice, Google+!

http://blog.superfeedr.com/pubsubhubbub-medium/
In the last couple months, the blogging platform world has been innovative again. Medium, one of these new players have been leading the way with an amazing interface to write and read content. Very early on, Medium also supported the open web through their addition of RSS feeds.
1
Add a comment...

Pelle Wessman

Shared publicly  - 
 
Found myself having some troubles testing my new WebMentions code. How do I know that it will work with mentions from all around the web and all the different kind of combinations of Microformat markup there can be?

My solution – a test pinger: https://github.com/voxpelli/node-webmention-testpinger

By containing copies of real world mentions that are locally altered to target the site I'm testing and pinged to a local copy of my WebMentions code I can ensure that my parsing works well for a wide variety of mentions from around the web.

Currently there's only an example from my own site included in the public repository, but I've added more locally (See that neat little .gitignored .gitignore file? https://github.com/voxpelli/node-webmention-testpinger/blob/master/.gitignore#L2 A good way to selectivly and secretly keep some content out of your repositories) Hopefully more people will allow me to add their sites to the tool as well so that it can become a more extensive test for your WebMention code.

I've thanks to this little tool now been able to easily test my WebMentions service, https://webmention.herokuapp.com/, against many of the major sites within the #indieweb community to ensure that all mentions following the patterns of their sites are presented nicely by it.
node-webmention-testpinger - A tool to ping your site with a variety of real world WebMentions
2
Add a comment...

Pelle Wessman

Shared publicly  - 
 
At a time when Netflix is switching away from using web technology in their apps it's very nice to see a new company step up and create their interface on top of a web engine.

PS4 + WebKit + WebGL = exciting stuff
 
Thanks for the great response everyone! Sony embracing web technologies such as #webgl  was what brought me to work here, and I'm really excited to talk about the details of our application. I think our team here has done an amazing job with the user experience.

I wanted to address some comments and clarify what is actually running WebGL with some development screen grabs. Each is highlighted accordingly. PS4 store is done completely in WebGL so I didn't attach anything related to that.

WebKit or Blink? We're a WebKit shop currently as people figured out from the PS4 license. The Blink/WebKit split happened after we were deep in development. My personal preference is Blink but that's not my decision to make.

UI framework is in house tech. I handled the layer below that it uses for its rendering which is all WebGL. Will be talking more about everything at that level during my talk at +SFHTML5.
1
Add a comment...

Pelle Wessman

Shared publicly  - 
 
This is big – Oculurs Rift looks like an even more serious contender for revolutionizing how we use computers in the future now
1
Add a comment...
In their circles
267 people
Have them in circles
940 people
Niclas Holmqvist's profile photo
Kal Ström's profile photo
tom sullivan's profile photo
Goutam Dey's profile photo
veni Kim's profile photo
Johan Krönmark's profile photo
Known's profile photo
Mathias Tillberg's profile photo
Jen Lampton's profile photo

Pelle Wessman

Shared publicly  - 
 
 
Loving http://sizersoze.org : discover the cost of large, non-responsive images & how much you could be saving
1
Add a comment...

Pelle Wessman

Shared publicly  - 
 
Investigated why a sticky top menu appears to flicker on an iOS 7 iPad when one animates a scroll from one section on the page to another, but that the menu doesn't flicker at all no matter how frenetic you scroll the page manually.

After some discussions on Twitter it was narrowed down to be something about the repaints of the menu so I set out inspecting it with the Safari Web Inspector tied to the iOS simulator.

My finding was:

1. The position: fixed menu is promoted to its own layer in iOS Safari and only repainted on the end of a manual scroll.
2. An animated scroll is made up of many window.scrollTo() calls, one per each "animation frame", that each scroll the page a small amount proportionate to the length of its animation frame.

The conclusion of those findings are pretty obvious:

If the fixed position menu is repainted on the end of a scroll and an animated scroll is made up many frames per second of which every one is a small scroll, then an animated scroll will mean a lot of repaints and thus a danger of the menu starting to flicker.

So unless there is a way to make an animated scroll be interpreted as a single scroll, I don't see a way to avoid a possible flicker of a sticky top menu.

Thanks to +Emil Björklund for his pointers on Twitter, pointing me in the right direction.
1
Pelle Wessman's profile photo
 
A way of actually solving the repaint of the fixed position element is to emulate the scroll using a CSS-transitions, see eg. https://gist.github.com/desandro/4206095, but the drawback of that method is that you instead will get a big flicker/flash of the entire page behind the fixed element when the emulated scroll ends and becomes a real one as the removal of the css-transitioned css-transform and the window.scrollTo() can't happen simultaneously, but rather will happen after one another.

I'll be opting for an ordinary animated scroll rather than this CSS-emulated one since there will be some flicker/flash anyhow and I prefer a simple common solution if the effect is mostly the same.
Add a comment...

Pelle Wessman

Shared publicly  - 
 
Launched my IndieWebCamp UK project yesterday, https://webmention.herokuapp.com/ – a service for receiving and embedding WebMentions on a static site such as a Jekyll blog.

It's of course open source and the hosted version is free for everyone to use (although with an account limit initially).

So a static blog or a lack of plugin for a CMS is no longer an excuse to not be part of the IndieWeb movement – now it's as easy as two button clicks and two snippets of code. Join!
I'm now launching a service that can receive and embeds WebMentions for sites. Useful for eg. static blogs on GitHub Pages. Earlier this year when I went to the IndieWebCamp in Brighton, a very nice event, the thing people were most excited about, at least when it came to the actually ...
3
1
Marie Axelsson (maloki)'s profile photo
Add a comment...

Pelle Wessman

Shared publicly  - 
 
I've been doing some PHP-coding again lately and therefore getting myself up to speed with the latest developments happening in the PHP-community, like Composer, and also getting my development environment up to speed again.

Not being as cool as the coolest guys out there I haven't yet made the jump to Sublime (and not to Vim either for that matter) – still using TextMate 2 and loving it (having built up some nice bundles over the years https://github.com/voxpelli/goodold-tmbundle).

Latest find is how to use Composer and the latest in PHP coding standards, PSR-2, within TextMate to easily ensure that your code complies to the expected styles.

Here's the steps I followed:

1. Install Composer using Homebrew: http://getcomposer.org/doc/00-intro.md#globally-on-osx-via-homebrew-
2. Run "composer self-update" to ensure latest version
3. Install PHP CodeSniffer using Composer: https://github.com/squizlabs/PHP_CodeSniffer
4. Configure your PATH to include "~/.composer/vendor/bin/" and do the same with your TextMate path (Preferences > Variables)
5. Clone https://github.com/Drarok/php-codesniffer-tmbundle to your TextMate bundle directory (~/Library/Application Support/Avian/Bundles)
6. In the TextMate bundle directory (~/Library/Application Support/Avian/Bundles), symlink the bundle to the correct path (ln -s php-codesniffer-tmbundle/PHP\ CodeSniffer.tmbundle)
7. Configure a TextMate "PHPCS_STANDARD" variable to be "PSR2"
8. Done. Run the bundle command and get a full coding standards report for your current file!

This works for other coding standards as well. Found eg. this Drupal guide to be helpful in figuring it all out: http://www.nuams.com/blog/installing-drupal-code-sniffer-textmate

To find out which coding standards you have installed, run "phpcs -i" from the command line.
1
Add a comment...

Pelle Wessman

Shared publicly  - 
 
It's easy to get lost in the social web and chase targets that's not really the ones we want to reach. Good to then be reminded about the true point of being social on the web.
 
I've been wondering about a few things lately. And came to an annoying conclusion: we are obsessed with numbers and it is killing our creativity. Our online life right now is running the danger of being a constant chase of bigger numbers and more reach and there is actually not much substance to it.

http://christianheilmann.com/2013/08/20/numbers-and-bullshit/
In the last few weeks I was slightly off the grid. I had a quick holiday, I traveled, I enjoyed the “fun” of wireless offers in US hotels. Sometimes that is a good thing. I realised a few things in that time, and discovered a few amazing posts online that very much agreed with what I thought.
1
1
Bosse Frittliv's profile photo
Add a comment...

Pelle Wessman

Shared publicly  - 
 
 
Google defends dropping chat federation with inaccurate and misinformed comments on the underlying protocol (XMPP) and blaming others for not joining.

Apparently, all the of the (good) sentiments behind the reasons for choosing XMPP as the protocol for Google Talk (https://developers.google.com/talk/open_communications) are no longer the driving force behind the decision making regarding its replacement Google Hangouts. All that talk about Client Choice, Service Choice and Platform Choice has been replaced with "if the other big players don't play, why should we?". So all those "thousands of other ISPs, universities, corporations and individual users" Google Talk used to federate with are no longer important.

On top of that, XMPP is blamed for not keeping up with the times:

"When XMPP was designed, smartphones and social networks didn't exist. Yet both trends essentially transformed communication but the standard remains unchanged. For example, mobile has several requirements around bandwidth and battery that are simply not part of the standard. And audio and video integration are not well defined," [a Google spokesperson] said.

This glances over the the fact that the X in XMPP stands for eXtensible, which still results in proposals for new protocol extensions every month. The XMPP Council, which I am currently serving on, watches over XMPP extensions in the XEP series (http://xmpp.org/xmpp-protocols/xmpp-extensions/) of the XMPP Standards Foundation. However, as XMPP is built on distributed technologies, everyone can invent their own protocol extensions in private, too. Something that Google should be fully aware of, as they have created a bunch of their own protocol additions, of which some are documented here: https://developers.google.com/talk/jep_extensions/extensions.

To go into even more depth, at various times, battery and bandwidth constraints for mobile use, have been discussed within the XMPP community at several times, since at least in 2008 and possibly before, with protocol proposals like Roster Versioning (XEP-0273, now part of RFC 6121), SIFT (XEP-0273) and background information on XMPP on Mobile Devices (XEP-0286).

Meanwhile, Google never participated in any of these discussions (https://plus.google.com/116276248303121270590/posts/V7LzUzj8R4D). Instead, they invented their own protocol (google:queue) for delayed presence delivery, much like but slightly simpler than what SIFT proposes. Had Google just participated, that protocol had likely been remade into a true XEP, for broader use in the community. This would have prevented, for example, Facebook, from also creating its own protocol for the same thing (https://bugs.freedesktop.org/show_bug.cgi?id=38943).

Of course none of these concerns for mobile are applicable for server federation. As far as I know, the Google Talk client on Android doesn't even use XMPP as the client-to-server protocol.

Google did cooperate with the XMPP community on standardizing Jingle (http://xmpp.org/extensions/xep-0166.html), a suite of protocol extensions for initiating and managing peer-to-peer media sessions between two XMPP entities. Ironically, this includes *audio and video integration", the very thing Google now says is not well defined, where Google was by far the largest driver behind it. And then Google Talk also never fully implemented the standardized protocol, causing other implementations to add custom, non-standard, workarounds.


Likewise, there are several proposals and even IETF drafts (for enhancing network security, including spam prevention, that Google didn't bother to implement. As an example, whereas as many other server operators would have wanted to start verifying X509 certificates on the TLS encrypted connections between servers, Google still doesn't check certificates or serve up properly signed ones themselves, allowing rogue servers to come in play.

The XMPP community even tried to accommodate some of the harder issues with serving up proper certificates for large numbers of hosted domains, explicitly including Google Talk, resulting in this IETF draft: http://tools.ietf.org/html/draft-saintandre-xmpp-dna-02.

From personal experience with building federated social networks on top of XMPP at Mediamatic Lab, I can name several other protocols that would benefit some of the newer features in Google Hangouts, including Publish-Subscribe (XEP-0060) and the related Personal Eventing Protocol (XEP-0163), that Google just ignored.

How didn't the standard (XMPP) change again?

As +Peter Saint-Andre was quoted in the TechHive article, we will just move forward.
Google is feeling the heat over its decision to build its new Hangouts IM and audio/video chat product with proprietary technology that doesn't support server federation via the XMPP industry standard, but the company is defending its move. Specifically, Google maintains that XMPP (Extensible Messaging and Presence Protocol) industry support is weak, which dilutes its purpose as a common protocol, and that its technology hasn't kept up with the...
1
Add a comment...
People
In their circles
267 people
Have them in circles
940 people
Niclas Holmqvist's profile photo
Kal Ström's profile photo
tom sullivan's profile photo
Goutam Dey's profile photo
veni Kim's profile photo
Johan Krönmark's profile photo
Known's profile photo
Mathias Tillberg's profile photo
Jen Lampton's profile photo
Places
Map of the places this user has livedMap of the places this user has livedMap of the places this user has lived
Currently
Malmö, Sweden
Previously
Eslöv, Sweden
Work
Occupation
Web Developer
Employment
  • Pelles Kodfabrik
    Freelance Web Developer, 2006 - present
  • Bloglovin
    Web Developer, 2014 - 2015
  • Valtech
    Web Developer, 2013 - 2014
  • Flattr
    Web Developer, 2010 - 2012
  • Good Old
    Web Developer, 2008 - 2011
Pelle Wessman's +1's are the things they like, agree with, or want to recommend.
ES6 arrow functions, syntax and lexical scoping
toddmotto.com

JavaScript, AngularJS and HTML5 engineer helping build a better web.

Bringing Custom Elements to IE8
webreflection.blogspot.com

Update The video of the event that brought Custom Elements down to IE8 and explain the Custom Elements role on the Web is online! While prep

What's this pg_shard thing?
www.databasesoup.com

I've been working with CitusData for a while, and I'm excited that they've finally released pg_shard, a generic "sharding" extension for Pos

Humble Mozilla Bundle: Powered by asm.js
www.humblebundle.com

Play FTL in your browser RIGHT NOW, plus seven more games in the Humble Mozilla Bundle. No more plug-ins. No more installers.

Pirate Bay-grundare kan tvingas bära sin pappas kista i handfängsel
www.metro.se

The Pirate Bay-medgrundaren Peter Sunde dömdes 2010 till åtta månaders fängelse för medhjälp till upphovsrättsbrott. Eftersom han sedan höll

OpenWeb Icons (a font!)
pfefferle.github.io

Why OpenWeb Icons? Because Font Awesome had no RSS-icon and a font with only one icon would be a bit boring...!

Norge skrotar e-val | Kryptering
kryptera.se

Det råder en politisk oenighet i Norge om huruvida elektronisk röstning är framtiden eller ej. På grund av denna oenighet så skrotar man nu

A video history of iOS
www.theverge.com

The iPhone's OS has changed a lot over the years. Here's a history of iOS, from its smash-hit debut, through apps and Siri, all the way up t

Lheurt's devblog: Listen to Postgresql inserts with node.js
lheurt.blogspot.com

I've been playing with node.js a lot these last few days, and one of the things I've been trying to accomplish is to push live notifications

Rosetta Code
rosettacode.org

Rosetta Code is a programming chrestomathy site. The idea is to present solutions to the same task in as many different languages as possibl

Seth's Blog: Better than free?
sethgodin.typepad.com

Without a doubt, free enables an idea to spread, it creates opportunity for sampling, it can open the door to engagement. But when you buy s

To avoid Android pitfalls, Mozilla shoulders Firefox OS update burden
reviews.cnet.com

Mozilla doesn't want Firefox OS users to have out-of-date versions of the mobile OS, so it's working to offer updates itself over Wi-Fi conn

Why HStore2/jsonb is the most important patch of 9.4
www.databasesoup.com

There are a bunch of features which are pending for 9.4, still, and a bunch of features which are already committed. Given how interesting s

TV4 Play - nu i Apple TV - TV4 - tv4.se
www.tv4.se

Från och med i dag finns TV4 Play i Apple TV. Med TV4 Play kan tittarna enkelt ta del av ett ständigt växande utbud av serier, program och l

Postcard For iPhone Lets You Post To Any Social Network At Once, Even Yo...
techcrunch.com

A new application, Postcard, launching today, will help you cross-post to various social media websites, but with a few unique twists. Unlik

What is DigitalOcean?
www.youtube.com

DigitalOcean is a simple cloud hosting provider built for developers. Easily deploy a blazing fast SSD cloud server in 55 seconds within an

Optimizing your JavaScript game for Firefox OS
hacks.mozilla.org

When developing on a quad core processor with 16 gigabytes of RAM you can easily forget to consider how it will perform on a mobile ...