Mateusz Stawecki

Thoughts on Mobile, Reactive & Serverless

If you feel disappointed due to the lack of a new iPhone or a TV – don’t be. WWDC – Apple’s World Wide Developers Conference was always software centric and while there are hardware announcements included, the Keynote was packed with fantastic software updates. After enjoying the whole conference, I’m pleased to report that Apple has “brought it”. What I’m seeing is a consistently strong rate of innovation in both iOS, OS X and even the Web services. Focusing not only on new features, but refining the current set and improving reliability. Even Apple won’t get everything right the first time, but they’ve shown that they can improve instead of abandoning, which can’t be said for a lot of other products and tech companies.


The most noticeable change in iOS7 to most people is obviously the user interface overhaul. While the new look is a bit shocking for some and many people are still making up their mind, it’s nice to see that Apple is taking risks and coming up with things the tech community is not comfortable with. The real question is how will the consumers respond, but the most basic interface patterns persist, so I believe that it shouldn’t be a big issue.

Some of the new looks in iOS7 might even seem similar to other existing platforms, but this is not about being unique – it’s about providing users with the best possible experience. To make that happen Apple has introduced many changes to the platform which are unique, hard to execute ideas: a physics-based dynamic and motion aware graphic user interface (which was hinted many times before), and the replacement of old metaphors with more visual depth and simplified controls. Many of these changes are truly stunning, yet the iOS team is not just showing off, the designs feel very purpose-driven and focused on the principal that content comes before the UI. This design direction doesn’t just apply to Apple’s work, it should guide app developers when thinking about their own app designs. It’s a direction we at OTHER media strongly believe in.

Chris Harris and Craig Federighi. Wonders App.

While the details are restricted until Fall (as usual), my feeling is that changes to iOS7 will also have a strong impact on what the app developers can achieve with the platform. That means a new range of apps, which can be implemented on the platform and of course new kinds of solutions to support new and existing businesses. The icing on the cake to these new goodies is as Tim Cook highlighted during the keynote: iOS has an extremely high adoption rate with over 90% of users running the latest version, which means these future features can be used in production very soon after the official release of iOS7.
As a developer, I’m particularly pleased by Apple’s commitment to delivering further improvements to the tools we use. Many are based on feedback left by the developers themselves, which makes the latest releases really great and more efficient to use.

If you round up all these changes, think about the timeframe and last year’s political shifts at Apple, it’s staggering how much this company managed achieve and deliver. All of that makes iOS and OS X still the two strongest platforms out there. The community is excited as always. Apple engineers were very helpful in the labs as always. Overall, WWDC2013 was again a highlight of my year.

Screen Shot 2013-06-23 at 21.46.11

Leave a comment

Those who know me closely will know that besides my passion towards digital technology and app development, I’m particularly interested in: music, entrepreneurship and approach to life. These three put together, make up the “lens” through which I see the world and something that really caught my eye is the amazing story of a band called Genesis and their two former members. Unless you’ve been living on a different planet, you’ve definitely heard hits like Land of Confusion, Invisible Touch, Sledgehammer, In the Air Tonight, I Can’t Dance, Follow You Follow Me, Mama.
The reason I’m writing this is because life is hard. Really hard. For you and me, and for these guys too. You’ve probably never heard about what they went through. It’s easy to look at success and not notice the hardship behind it. Personally, I find this story and their approach very inspiring, so I’d like to share it with you.

Before we had “an Invisible Touch” there was “Genesnooze”

Genesis, circa 1971

Genesis, circa 1971(source)

Genesis formed in 1967 in Surrey, England. Primary members Peter Gabriel, Tony Banks, Mike Rutherford were 17 year old students at the time. You can imagine that the early stages of Genesis were much like any teenage garage band you can find – poor song writing and musicianship, no performance skills.
Yet in 1968, Jonathan King – a songwriter, record producer, novelist – gave Genesis a chance to record an album. The result was From Genesis to Revelation with the single Silent Sun. Its initial sales: 650 copies. The band later admitted that Silent Sun was a “Bee Gees pastiche” written to please Jonathan King. Overall, it was a failure, but as Mike Rutherford recalls:

Jonathan King […] did give us a fantastic opportunity. Because in those days, in England, you couldn’t get in the studio […] to get any sort of record contract, was really magical.

The album doesn’t sound like anything else they later recorded. The band parted ways with King, went its own musical direction and continued playing live. Their music was hypnotic, dark and haunting. Finally they signed with Charisma Records and recorded Trespass. In 1970 Phil Collins joined the band to play on drums.

Peter Gabriel as "Britannia", or "The Moonlit Knight" 1974 (source)

Peter Gabriel as “Britannia”, or “The Moonlit Knight” 1974 (source)

Genesis was becoming popular, but amongst the critics the opinions were mixed. Q Magazine has a description of a 1977 cartoon which shows asleep or comatose fans watching a live performance and a banner on stage reading “GENESNOOZE“. You have to note that at the time – the punk movement was on the rise.

The band later released albums: Nursery Cryme, Foxtrot and Selling England by the Pound, which contained I Know What I Like (In Your Wardrobe) and became their first charting single, reaching #17 on the UK singles charts. The album achieved a “Gold” sales certification in USA, France and “Silver” in the UK.
In 1974, they recorded a double album The Lamb Lies Down on Broadway and embarked on a world tour playing 102 shows!

I Know What I Like from the album Selling England by the Pound

Things got big for Genesis, but then life hit Peter Gabriel… hard.

Peter Gabriel

Tensions were high during The Lamb Lies Down on Broadway. The band was frustrated with Gabriel’s focus on theatrical performances rather than the music. He also did most of the lyrics on the latest album, which seemed unfair, since the band always shared that responsibility equally. Gabriel’s personal life also got complicated after his wife’s difficult pregnancy and birth of first child Anna-Marie. He opted to stay with his sick daughter and wife, instead of recording and touring, which didn’t help the resentment of the band. Peter Gabriel had to leave Genesis in 1975.

After difficulties and abandonment, Peter carried on and in 1977 he recorded his first solo album, including the song Solsbury Hill, which was inspired by his departure.

I did not believe the information
I just had to trust imagination
My friends would think I was a nut
Turning water into wine
Open doors would soon be shut
I was feeling part of the scenery

The single was a Top 20 hit in the UK. The first 4 albums were untitled, but due to the artwork – are codenamed: Car, Scratch, Melt and Security. His solo career was evolving, but times were still tough. Low on funds, he asked Phil Collins to play drums for free. In 1982 he reunited with Genesis for a one-off concert in order to recoup debts after the first WOMAD concert – an arts festival founded by Gabriel.

Almost 10 years after Car, Peter Gabriel released So, which achieved #1 album and triple platinum in the UK, five times platinum in the US. The album contained songs like Sledgehammer, Don’t Give Up — a duet with Kate Bush, In Your Eyes (featured in the John Cusack film Say Anything).
The famous video for “Sledgehammer” won nine MTV Video Music Awards in 1987, a record which still stands and is the most played music video in the history of MTV.

So think about this: after 8 years of creative work and friendship, everything you’ve been doing since you were only seventeen – your career and friends suddenly disappear. You’re in a poor financial situation and have a sick family. How much grit do you have to have to continue?

All failures aside, Peter Gabriel has won six Grammy Awards and in 2008 TIME magazine named him one of the 100 most influential people in the world.

Last verse of Solsbury Hill (1976):

Today I don’t need a replacement
I’ll tell them what the smile on my face meant
My heart going boom boom boom
“Hey” I said “You can keep my things,
They’ve come to take me home.”

Phil Collins

After Peter’s departure, Genesis decided to keep going, but needed a lead vocalist. Even though Phil used to sing back-up vocals, he was still primarily a drummer. The band auditioned over 400 candidates, but after a fruitless search they gave up and Collins became the group’s new frontman and lead singer.
A Trick of the Tail (1976) was the first album to feature Collins as the lead and it was a hit. It also helped the band to pay off the $400,000 debt! The album remains one of my personal favourites, due to it’s focus on the intrumental pieces (check it out, it’s so good). After Wind & Wuthering album, Steve Hackett left Genesis, but the band continued and recorded …And Then There Were Three….

Before recording Duke, Collins took an extended leave of absence to save his first marrige. Ultimately he divorced Andrea Bertorelli in 1980, after she started an affair with their painter and decorator. Collins later appeared on the BBC’s Top of the Pops singing “If Leaving Me Is Easy” with a pot of paint and brush positioned on his piano.

His first solo album Face Value opens with the dark and mysterious song In the Air Tonight, inspired by the unfortunate first divorce.

I was there and I saw what you did
Saw it with my own two eyes
So you can wipe off that grin
I know where you’ve been
It’s all been a pack of lies

If you hear someone say “Turn your misfortune into an asset!” – you probably won’t appreciate it, especially when feeling down, but yet again with grit, passion and persistance – good things happen.
Face Value album was a success. In the Air Tonight became the anthem of the iconic 80s TV series Miami Vice:

Genesis moved to Phil’s apartment and composed Duke. The next 4 albums after that were even more successful.

Collins was married and divorced three times. He was married to Jill Tavelman from 1984 to 1996, paid £17M as final settlement. Third wife Orianne Cevey 1999 to 2008, received £25M in settlement.

In 2009 it was reported that Phil cannot play drums after an operation to repair dislocated vertebrae in his neck.

There isn’t any drama regarding my ‘disability’ and playing drums. Somehow during the last Genesis tour I dislocated some vertebrae in my upper neck and that affected my hands. After a successful operation on my neck, my hands still can’t function normally. Maybe in a year or so it will change, but for now it is impossible for me to play drums or piano. I am not in any ‘distressed’ state; stuff happens in life.

After three expensive divorces and health problems, Collins is surprisingly optimistic. In interviews he always states that he’s moved on from Genesis and rock-star life. While some people may see his situation as tragic, this is actually an opportunity to stay near his children and start a second life.

Collins’ total worldwide sales as a solo artist, as of 2000, were 150 million (he’s one of only three recording artists along with Paul McCartney and Michael Jackson who have sold over 100 million albums worldwide both as solo artists and as principal band members). He won seven Grammy Awards.
During the 2007 tour, Genesis performed in Rome’s Circo Massimo in front of 500,000 fans. The setlist included several songs from Duke.

Los Endos*

You could take each of these horrible events and narrate them as a nightmare coming true, and it would feel very right to do that. However, even though that’s our usual reaction, what is the point of it? When life hits you, lose the pessimistic narration and focus on what you love, and your passion. You can’t see what really lies ahead – try to imagine how Gabriel’s life must’ve felt right after leaving Genesis or how Phil must’ve felt when his first marrige was falling apart. Listening to their songs there is no doubt that the emotional impact of these events was powerful, but can you think of what would happen, if they didn’t keep their grit?

It really is your choice. You can keep focusing on the disappointment and pain or you could try dealing with failure just like Collins, Gabriel, Banks, Rutherford and Hackett – just keep playing… whatever your song is.

Credits: many facts quoted from Wikipedia, links included in context.
* – “Los Endos” is the closing instrumental piece on “A Trick of the Tail”.

Leave a comment

After months of extremely hard work, brilliant cooperation, risky innovation, it’s done.

This slideshow requires JavaScript.

iTunes Link

We’ve had some excellent reviews as well:

It’s hands down one of the best apps out there for the iPad right now and serves as a banner app for tablet education in general.

Brian Cox’s Wonders of the Universe is literally one of the best iPad apps I’ve ever encountered.

Wonders of the Universe might be one of the best educational apps to date for iOS

Further reviews on: Mashable, Guardian

I’ve never seen such good reviews of an iPad app. I’m absolutely stunned. I’d like to thank everyone who was involved in the project and everyone who gave use this amazing feedback as well. Cheers!

I’d write more, but I need to get some sleep first, so stay tuned and try it out, because there is a lot more to come! 😉

Wonders of the Universe is our first app, which utilises Glide Publisher. A publishing framework, which we’re working on at the moment. Learn more about Glide from @_ChrisHarris, @matt_walton and me:

Leave a comment

I had a little play with different documentation generators recently and it inspired me to write a handy little tool to review all your “//TODO:” comments in code. There’s a lot of criticism around putting “TODO” and “FIXME” etc in code, it does sometimes end up quite badly. However, if you try to grasp it and use it to get a better overview of your progress, it might not be all that bad. As usual… it’s quite cool what you can do with bash.

Very minimalistic shell script, grab it as a Gist:

Leave a comment

I wanted to call this post “Project Cemetery”. Some experiments go bad, some go good. This one went far better than I expected, but besides interesting results, nothing really kicked off. Let me start from the beginning then. Last year (2010) I met a group of awesome people – employees of the OTHER media, who showed off some cool stuff in Mobile. One thing was particularly cool. A 3d app prototype in WebKit showed off by Chris Harris (@_ChrisHarris). Couple months later, I was lucky enough to join the team and work on a web app written with JS and CSS transforms. After that I got really excited about how much rendering power you can squeeze out from a browser on an iPhone, I decided to play a bit more with 3d transforms, see where it takes me.

Experiment #1: 3D Sci-Fi Racing game

(try it on Safari/WebKit nightly)
controls: arrow keys, space, C

I got carried away on this one! It was pretty cool, but runs correctly only on Safari/WebKit nightly. It has a physics engine, collision detection. All graphics using pure CSS3. Some of you may wonder: why not WebGL? Well.. there is one major problem with WebGL – it’s not supported on any mobile devices at the moment! And it might not be for a while, but while experiment no 1 was pretty cool, it failed to run on the iPhone. I’ve tried optimising, but I had to change the concept and do it from scratch. I was scratching my head, if it’s even worth trying, since there isn’t much of a case for such usage of this technology. It couldn’t compete with native 3d games. I finally got convinced by Chris: “iAds. You can use this in iAds.”. It made perfect sense, I then realised that when I saw the iAd keynote, I hated these ads, especially the games. Toy Story 3 puzzle game? :/ Ugh!! Here’s my shot at a game embeddable in iAds:

Experiment #2: 3D Platform game optimised for iOS

(try it on any WebKit browser including iOS)
controls on PC: arrow keys, space.

Boom! By the end of November 2010 it was finished. No-one could believe that this was a Web-app. And it ran on an iPhone 3G! You basically play a penguin who picks up ice cream 😀 I’ve been looking into selling this piece as a framework, but it didn’t work out. Turns out trying to work with ad agencies is quite hard too. If anyone’s still interested, give us a shout. I enjoyed the “journey” and got some cool demos out of it 😉 Gotta keep on trying!

Leave a comment

UPDATE: This is an old piece, you probably want: phantom.js and casper.js

In this post I’ll show you how to remotely control your Google Chrome browser using JavaScript and scrape some data, even if it’s on an AJAX powered website or behind HTTPS authentication. Nice? I LOVE WebKit and now it got even sweeter. Very recently there was a small buzz about a new feature: WebKit Remote Debugging that allows to use Element Inspector remotely! (since it’s essentially just a web page and some javascript + websockets). What’s the real icing on the cake for me, is the ability to plug-in a different interface. I wrote a simple interface that can execute several pieces of JavaScript and return the values back to you. Here’s how to set it up. Open Terminal and find the Google Chrome executable. To use remote debugging, run it with a special parameter:

$ cd /Applications/Google $ ./Google Chrome –remote-debugging-port=9222

If you get:

[0513/] Check failed: bundle. Failed to load the bundle at /Applications/Google Chrome Framework.framework

Try symlinking Versions:

$ ln -s ../Versions/ ./Versions

The browser should start normally. Now go to a different browser, e.g. Safari and check out: http://localhost:9222 Select a page and you should see the Inspector. That’s all nice and neat. But let’s see my remote script: – To connect to the debugger, we’re using WebSockets. Change the page number based on the link from http://localhost:9222 . Every “Tab” has a different “Page” number.

	// Set page number!
	var host = "ws://localhost:9222/devtools/page/5";
	socket = new WebSocket(host);

– To execute JavaScript I wrapped a JSON-RPC-like command into a method with callback. More protocol schema here.

function remoteEval(scriptString,callback) {
	seqCallback[seqNo] = callback;

– And this is how a sample script works:

remoteOnLoad = function(result) {

// We might've ended up on the login page, so let's log in!
if (remoteURL.indexOf("ServiceLogin") > 0 )
remoteEval( " document.getElementById('Email').value = 'username'; "+
	" document.getElementById('Passwd').value = 'password'; "+
	" document.getElementsByTagName('form')[0].submit(); "
	, function(result) { alert(result); } );

	// We're home!
	if (remoteURL.indexOf("") > 0 )
	remoteEval( " try { document.getElementById('canvas_frame')"+
".contentWindow.document.getElementsByClassName( 'md' )[0].innerText } catch(e) { -1 }"
	, function(result) {  // Waiting for AJAX. Try again in 2 sec.
	if (result == -1) { setTimeout(remoteOnLoad,2000); }
				else { alert(result); } } );
				// This should return scraped information
				// about your data usage on gmail!
				// E.g. You're currently using 150MB out of 7000MB
			} ;

// This happenes first:
remoteEval(" location.href = '' ");
//Let's go to Gmail!

Don’t know how about you, but I just wanna wrap it in Node.js, run it somewhere on Linux with a dummy X11 server for Chrome and write lot’s of crazy tasks, so it does it all for me! Imagine e.g. that instead of that alert(result) you make it a WebHook or a service?

1 Comment

Name: Web Form Analyzer
Motto: Simple form analyzer from URL


A very simple web form analyzer! Just enter the form’s URL or HTML code and you’ll see a nice print out of different forms and values submitted on the website.

Had a bit of time and need for a simple tool like that. Dead simple, very clear to read. Nicer than ‘view source’, if you’re just interested in what and where is being posted from a website or piece of code. Enjoy.

Leave a comment