These are the slides for a three hour primer for PHP developers. It covers the whole spectrum from the mobile web to apis for native apps, as well as topics such as generating QR codes and sending push notifications from PHP to android and apple devices.
An overview of cloud computing for PHP developers.
This is a slightly updated version of my earlier 'PHP and the Cloud' slides, mostly to reflect my new company's layout.
An overview of cloud computing for PHP developers.
This is a slightly updated version of my earlier 'PHP and the Cloud' slides, mostly to reflect my new company's layout.
This is a presentation to review and summarize the mobile websites that I have involved in. It includes many practical skills and my own experiences in the development of mobile websites.
We’ll get deep in the well-known techniques for website’s performance (from Steve Souders and others) and how real mobile devices reacts to each one. Are mobile browsers compatible with CSS Sprites or with Lazy Load Script? What about inline images and canvas? What are the big differences between desktop and mobile web performance?
Specifically, in this webinar we will cover following key topics.
Alternative approaches for developing mobile applications – Native, HTML5, and Hybrid
Pros and cons of each approach
When to go for HTML5 or Hybrid approach and when not to
Recommended tools for HTML5 and Hybrid development
Read more at - https://www.synerzip.com/webinar/mobile-development-html5-vs-native/
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
Java EE 7 provides a strong foundation for developing the back end for your HTML5 mobile applications. This heavily code-driven session shows you how you can effectively utilize Java EE 7 as a back end for your Apache Cordova mobile applications. The session demonstrates Java EE 7 technologies such as JAX-RS 2.0, WebSocket, JSON-P, CDI, and Bean Validation. It provides an overview of the basics of Apache Cordova as well as the tooling support added in NetBeans 8. The session also demonstrates an integrated approach to rapidly developing HTML5 mobile applications with Java EE 7 and NetBeans and concludes with best practices and pitfalls.
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...Yottaa
Building a mobile app - depending upon who you speak with it's a quick way to make a ton of cash (SnapChat), a sign of maturity for a SaaS startup that offers advantages over a desktop solution (ifttt), or the only way your company chooses to do business (WhatsApp). If you get it right...
Today's mobile app developers have to make some difficult choices in their implementations, and a lack of history to provide clear direction doesn't help. In this meetup we'll look at Responsive, Adaptive and Native app development alternatives and how your choice can impact day-to-day necessities like testing and troubleshooting. This will be slightly more technical than our last meetup as we will examine implementations and optimization techniques using mobile applications in the wild.
In the last year or so things changed drastically. Everybody uses an iPhone6, is connected 24/7 at high-speed without data caps, is healthy, has shiny teeth and loves spending money on your products. All you need to do is constantly innovate and you'll be a major success. The term for this is "the modern web". Another word for it is nonsense. There is a web people want and there is one that people use. We should start thinking about upgrading the one people use and stop chasing our own tail trying to mimick other environments.
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...eZ Systems
Roland Benedetti Chief Product and Marketing Officer at eZ Systems presented at re\VISION NYC on December 12, 2016. He spoke about what role content plays in a successful omni-channel user experience strategy. Content is key for digital success, but the reality is content by itself is nothing. We need to connect the right content to the right users and engage them throughout the customer journey in a consistent, meaningful way. In this talk, Roland Benedetti will share ideas on how content management technology can help organizations succeed with their content across channels and he'll also share some pitfalls to avoid.
Sancrosoft Infotech is a global technology consulting, IT staffing and recruiting firm. We specialize in assisting our clients with highly focused short and long term technology initiatives. Using a combination of US based, offshore and onsite resources, Sancrosoft Infotech has created a unique model of operating efficiency allowing us to pass significant cost savings to our clients and meet requirements in a cost effective and expedient manner. Suitable candidates can email their resumes to anil@sancrosoftinfotech.com or sancrosoftoperations@gmail.com ; mention : "Mphasis PHP" or " Mphasis .net" in the subject line....
This is a presentation to review and summarize the mobile websites that I have involved in. It includes many practical skills and my own experiences in the development of mobile websites.
We’ll get deep in the well-known techniques for website’s performance (from Steve Souders and others) and how real mobile devices reacts to each one. Are mobile browsers compatible with CSS Sprites or with Lazy Load Script? What about inline images and canvas? What are the big differences between desktop and mobile web performance?
Specifically, in this webinar we will cover following key topics.
Alternative approaches for developing mobile applications – Native, HTML5, and Hybrid
Pros and cons of each approach
When to go for HTML5 or Hybrid approach and when not to
Recommended tools for HTML5 and Hybrid development
Read more at - https://www.synerzip.com/webinar/mobile-development-html5-vs-native/
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
Java EE 7 provides a strong foundation for developing the back end for your HTML5 mobile applications. This heavily code-driven session shows you how you can effectively utilize Java EE 7 as a back end for your Apache Cordova mobile applications. The session demonstrates Java EE 7 technologies such as JAX-RS 2.0, WebSocket, JSON-P, CDI, and Bean Validation. It provides an overview of the basics of Apache Cordova as well as the tooling support added in NetBeans 8. The session also demonstrates an integrated approach to rapidly developing HTML5 mobile applications with Java EE 7 and NetBeans and concludes with best practices and pitfalls.
So you want to build a mobile app - HTML5 vs. Native @ the Boston Mobile Expe...Yottaa
Building a mobile app - depending upon who you speak with it's a quick way to make a ton of cash (SnapChat), a sign of maturity for a SaaS startup that offers advantages over a desktop solution (ifttt), or the only way your company chooses to do business (WhatsApp). If you get it right...
Today's mobile app developers have to make some difficult choices in their implementations, and a lack of history to provide clear direction doesn't help. In this meetup we'll look at Responsive, Adaptive and Native app development alternatives and how your choice can impact day-to-day necessities like testing and troubleshooting. This will be slightly more technical than our last meetup as we will examine implementations and optimization techniques using mobile applications in the wild.
In the last year or so things changed drastically. Everybody uses an iPhone6, is connected 24/7 at high-speed without data caps, is healthy, has shiny teeth and loves spending money on your products. All you need to do is constantly innovate and you'll be a major success. The term for this is "the modern web". Another word for it is nonsense. There is a web people want and there is one that people use. We should start thinking about upgrading the one people use and stop chasing our own tail trying to mimick other environments.
Advancing Content Management for Omni-Channel User Experiences by Roland Bene...eZ Systems
Roland Benedetti Chief Product and Marketing Officer at eZ Systems presented at re\VISION NYC on December 12, 2016. He spoke about what role content plays in a successful omni-channel user experience strategy. Content is key for digital success, but the reality is content by itself is nothing. We need to connect the right content to the right users and engage them throughout the customer journey in a consistent, meaningful way. In this talk, Roland Benedetti will share ideas on how content management technology can help organizations succeed with their content across channels and he'll also share some pitfalls to avoid.
Sancrosoft Infotech is a global technology consulting, IT staffing and recruiting firm. We specialize in assisting our clients with highly focused short and long term technology initiatives. Using a combination of US based, offshore and onsite resources, Sancrosoft Infotech has created a unique model of operating efficiency allowing us to pass significant cost savings to our clients and meet requirements in a cost effective and expedient manner. Suitable candidates can email their resumes to anil@sancrosoftinfotech.com or sancrosoftoperations@gmail.com ; mention : "Mphasis PHP" or " Mphasis .net" in the subject line....
At this joint NYC Cloud Foundry and NY PHP meetup, we'll discuss the shift to Platform-as-a-Service and what it means for PHP development on the cloud.
First, we'll take a look at the "traditional" cloud Infrastructure-as-a-Service (virtual servers and disks) model and describe how Platform-as-a-Service builds upon it to provide the runtimes and data services for hosting PHP applications.
We'll then demonstrate how a PHP developer can use buildpacks and services within a Cloud Foundry PaaS to deploy scalable and resilient apps to his or her cloud of choice.
Along the way we'll compare the variety of buildpacks available to PHP developers, show techniques for binding to services, and highlight best practices for creating born-on-the-cloud apps based on a microservices architecture.
Special thanks to Dan Mikusa for helping with the buildpack comparison.
PHP developers: Please give all three build packs a try. Provide your feedback and submit pull requests on GitHub.
Presentation for my last workshop at Velocity 2011.
Mobile web is coming in 2011 with a strong wave; mobile devices are more powerful every year; mobile browsers are evolving even faster than desktop web browser; and tablets have mobile browsers rather tan desktop browsers. That is a good mix of new problems for WPO.
How to deal with mobile browsers?
How is WPO impacting on mobile web?
HTML5 Apps on AGL Platform with the Web Application Manager (Automotive Grade...Igalia
By Julie Kim.
Julie will be presenting the work that has been done over the last months to develop for the AGL platform a modern Chromium based Web Application Manager (WAM) that enables running HTML5 IVI applications on the system.
These different applications can define specific levels of integration and security on the platform, and can be run seamlessly on different hardware architectures.
Automotive Grade Linux All Member Meeting Japan 2019
March 5 - 6, 2019
Tokyo, Japan
https://events.linuxfoundation.org/events/agl-all-member-meeting-japan/
PHP Development In The Cloud (php|tek edition)Ivo Jansch
This talk is the companion talk to the 'PHP Development in the Cloud' book I wrote with Vito Chin. It's an introduction into cloud computing for PHP developers. Delivered on may 25 at php|tek in Chicago.
Building an SSO platform in PHP (Zend Webinar Edition)Ivo Jansch
I did a Webinar for Zend on March 31st, 2011 about Single Sign On. In this presentation I covered openid, oauth and saml as suitable implementations for single sign on to web applications.
This talk was presented at the Daycamp 4 Developers 2 on March 5th, 2011. In this talk I talked about my experiences with telecommuting, and why it makes sense for businesses to allow developers to work remotely.
Updated version of my PHP in a mobile ecosystem talk. Looks at how PHP plays a role in the mobile world, and explains what php developers need to know about mobile development.
Presentation delivered at the PHPBenelux 2011 conference and the PHP UK conference 2011.
Building an SSO platform in php (Zendcon 2010)Ivo Jansch
A presentation explaining how to build Single Sign On functionality in PHP using standards such as OpenID, OAuth and SAML. Delivered on November 4, 2010 at Zendcon in Santa Clara
PHP in a Mobile Ecosystem (Zendcon 2010)Ivo Jansch
A look at PHP's role in mobile web and app development. Delivered at Zendcon 2010 on November 3, 2010.
If you like the content or want to give feedback or if you need help with any of the concepts mentioned here, contact me at egeniq.com.
Content Management Selection and StrategyIvo Jansch
A presentation I did at the IMS 2009 event in London, helping organizations define a content management system strategy and helping them with the selection of CMS systems.
Slides of the talk I did at Zendcon 09. It tells PHP developers what they need to know about the cloud and gives exampes of how to interact with cloud services and applications.
Dynamic Languages In The Enterprise (4developers march 2009)Ivo Jansch
Slightly more generic version of my 'Enterprise PHP' talk, adjusted for the 4developers conference's 'dedicated languages' track that features developers with different backgrounds.
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Ramesh Iyer
In today's fast-changing business world, Companies that adapt and embrace new ideas often need help to keep up with the competition. However, fostering a culture of innovation takes much work. It takes vision, leadership and willingness to take risks in the right proportion. Sachin Dev Duggal, co-founder of Builder.ai, has perfected the art of this balance, creating a company culture where creativity and growth are nurtured at each stage.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Let's dive deeper into the world of ODC! Ricardo Alves (OutSystems) will join us to tell all about the new Data Fabric. After that, Sezen de Bruijn (OutSystems) will get into the details on how to best design a sturdy architecture within ODC.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
4. Contents
‣ Part 1: Putting mobile in perspective
‣ Part 2: Browser based mobile applications
‣ Part 3: A few words on frontend design
‣ Part 4: Cool stuff with PHP and native apps
‣ Part 5: APIs for native apps
‣ Part 6: Web vs Native: best of both worlds
‣ Part 7: Random bits if time permits
4
27. A pixel is not a pixel
Viewports:
‣ Invented by Apple
‣ Adopted by others
‣ Unofficial standard, registered at whatwg.org
27
28. A pixel is not a pixel
320 640
480 960
iPhone 3 iPhone 4
28
29. A pixel is not a pixel
CSS 2.1 Specification:
“If the pixel density of the output device is very different from that of a typical computer display,
the user agent should rescale pixel values. It is recommended that the pixel unit refer to the
whole number of device pixels that best approximates the reference pixel. It is recommended
that the reference pixel be the visual angle of one pixel on a device with a pixel density of
96dpi and a distance from the reader of an arm’s length.”
29
30. Standardization Horror
‣ <meta name=”viewport” content=”width=device-width” />
• iPhone and most others
‣ <meta name=”HandheldFriendly” content=”true” />
• Many feature phones (originally Palm)
‣ <meta name=”MobileOptimized” content=”320” />
• Windows Mobile
‣ <meta name=”viewport”
content=”target-densitydpi=device-dpi” />
• Android
30
31. A pixel is not a pixel
Recommended reading:
http://www.quirksmode.org/blog/ by Peter Paul Koch
31
32. Device Detection
It’s all in the User Agent
• Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X;
en-us) AppleWebKit/532.9 (KHTML, like Gecko) Version /
4.0.5 Mobile/8B117 Safari/6531.22.7
• Mozilla/5.0 (Linux; U; Android 2.1-update1; nl-nl; HTC Hero
Build/ERE27) AppleWebKit/ 530.17 (KHTML, like Gecko)
Version/4.0 Mobile Safari/ 530.17
32
34. Don’t Reinvent The Wheel
http://detectmobilebrowsers.mobi/
• Downloadable PHP library
for device detection
• Online code generator
• Donationware
• Ugly code, well documented
34
35. On to a more advanced mechanism
‣ General tip:
• don’t rely on device
• rely on capabilities
‣ WURFL
• Wireless Universal Resource FiLe
• Contains info on 500+ capabilities of 14.000+ devices
• http://wurfl.sourceforge.net/
• Clients available for many languages
35
36. WURFL in PHP: Tera-Wurfl
‣ Download Tera-Wurfl
• http://www.tera-wurfl.com
‣ Install in document root
• e.g. in /var/www/yoursite/Tera-WURFL
• Make sure data/ dir is apache read+writable
‣ Create empty database
36
46. Alternatives
‣ http://www.deviceatlas.com
• Commercial database of device properties
• Available online, as API and downloadable
json file
• Free for development
• ~99$/year for production
46
47. Browser Detection In Practice
‣ Let’s optimize a site with what we’ve learned
so far.
‣ Let’s take advantage of ZF’s powerful MVC
set up
• View scripts determine layout of actions
• Layout script wraps everything into main layout
• Use Bootstrapper to detect device and setup MVC
47
48. Zend Framework mobile site
2 ways for mobile layout:
‣ Separate files
‣ Separate folders
Detection in bootstrap
48
54. Dealing With Mobile Browsers
‣ Considerations:
• Don’t redirect to homepage
• Offer ‘classic’ option
• Don’t make assumptions on physical screen size
54
59. HTML5 is powerful
‣ localStorage
‣ <video>
‣ <canvas>
‣ <svg>
‣ <input type=”number”> and many other form
fields
‣ navigator.geolocation.getCurrentPosition();
59
60. Browsers love HTML5
Browsers supporting HTML5:
‣ Firefox
‣ Safari
‣ Opera
‣ All the mobile browsers
‣ IE (sort of, no support for <article> until IE9)
60
61. Things to consider
‣ Don’t just scale the layout, scale content too
‣ Consider ‘scenario based content
management’
61
63. jQTouch
‣ iPhone experience in HTML5
‣ http://jqtouch.com/ (beta 3)
‣ jQuery based
‣ MIT License
‣ Give it a try: http://jqtouch.com/preview/
demos/main
63
64. Alternatives
‣ jQuery Mobile
• 1.0 alpha was released at October 16, 2010
• http://jquerymobile.com/
‣ Sencha Touch
• From the makers of jqTouch
• Tablet support
• http://www.sencha.com/products/touch/
64
82. Notifications - Notes
‣ For Apple:
• Get certificates from the developer portal
‣ For Android
• Need to register an account and request a quota
‣ Note: deviceTokens can change!
82
83. Token Exchange
notificationToken
Apple Push
Your Server Notification
deviceToken message
message
Services payload
payload
signature Your
App
notificationToken
deviceToken
deviceToken
Token notificationToken
Exchange
http://tokenexchange.googlecode.com
83
85. PHP’s role in native apps
Android Blackberry
iPhone App
App App
API
85
86. Optimize APIs for mobile
‣ Content optimization
‣ Scalability
‣ Longevity
‣ Security
‣ Client/Server
considerations
86
87. Content Optimization
‣ Consider CPU and memory constraints
• Prefer JSON over XML
• Compress data
• Keep responses small
• But not too small (connection / routing overhead)
87
89. Longevity
‣ Apps have different deployment patterns
• No ‘quick fix’ in the application as in web apps
‣ Client/Server asynchronous updates
• Backwards compatibility
‣ Versioned API URLs:
- http://iportfolio.api.egeniq.com/portfolios/1.0/mvb/collections.json
89
90. Longevity
‣ How long do you support your APIs?
• Can’t force people to delete their Apps
• Provide clean fallback
• Synchronized instead of real-time data
‣ Implement status check API calls
‣ API ownership
90
91. Longevity - API Ownership
‣ Own DNS records
‣ Own the initial entry point of the app
‣ Don’t hardcode URLs
‣ By the way: also own the developer account
91
98. Client/Server considerations
‣ Image Processing in the API, instead of App
• Use Imagick / GD etc.
• Trade-off between bandwidth and processing power
‣ Apps support threading / asynchronisity
• Fire-and-forget API design
• Prepare/getResult call duos
‣ Push features into PHP APIs for reuse
98
99. PHP’s role in native apps
‣ PHP has native support for:
• Web services
• JSON
• Compression
• Image manipulation
‣ Egeniq’s number 1 choice for App APIs
‣ 25-30% of App development time = API
99
101. HTML5 in the App Store
‣ HTML5 on the server, supports PHP:
• IPFaces - http://www.ipfaces.org/
‣ HTML5 on the device, no (or limited) support
for PHP:
• AppCelerator - http://appcelerator.com/
• Phonegap - http://phonegap.com
101
104. Testing
‣ Various options for testing:
• Get your boss to buy you devices
• Firefox with user agent plugin
• Use Simulators/Emulators
• Use a service such as DeviceAnywhere
104
105. Running PHP on the device
First: Why??!
‣ PHP For Android (PFA)
• http://phpforandroid.net/
‣ PAMP for Symbian
• http://wiki.opensource.nokia.com/projects/PAMP
105
106. Symfony Mobile
• Mime-type based optimisation
• http://www.symfony-project.org/blog/2008/06/09/how-
to-create-an-optimized-version-of-your-website-for-the-
iphone-in-symfony-1-1
106
110. Credits
Pictures used in this presentation are creative commons attribution licensed pictures. Here
are the owners and the URLS where the originals can be found:
‘Dow says POO’ by Stepleton - http://www.flickr.com/photos/29407923@N03/2899705638/
‘The telephone’ by Tylerdurden - http://www.flickr.com/photos/tylerdurden/529028040/
‘Web’ by Kurtxio - http://www.flickr.com/photos/kurtxio/2182760200/
‘Heavy cloud, no rain’ by Robynsnest - http://www.flickr.com/photos/robynsnest/12405841/
‘Wireless fridge’ from http://www.wirelessgoodness.com/tag/srt746awtn/
‘Army iphone app’ by Soldiersmediacenter - http://www.flickr.com/photos/soldiersmediacenter/4271795260/
‘Carbon Fibre Wallet’ by Ryan Loos - http://www.flickr.com/photos/rh1n0/4157547404/
‘Keys’ by Jamison Judd - http://www.flickr.com/photos/jamisonjudd/2419601050/
‘Phone Girl’ by Steffen - http://www.flickr.com/photos/re-ality/460465894/
‘Icon_safari_hires’ by Hans Dorsch - http://www.flickr.com/photos/hansdorsch/2861804087/
‘Thinking’ by Karola - http://www.flickr.com/photos/karola/3623768629/
‘Jus'a web’ by Jusfi - http://www.flickr.com/photos/jusfi/2921202536/
‘iPad :)’ by Korosirego - http://www.flickr.com/photos/korosirego/4334862666/
‘I've got a monkey on my back’ by Keven Law - http://www.flickr.com/photos/kevenlaw/2698946160/
‘Add a spoonful of coffee’ by Martyn Wright - http://www.flickr.com/photos/35521221@N05/5181647830/
‘Locked steel’ by Darwinbell - http://www.flickr.com/photos/darwinbell/321434733/
‘4 Biscuits’ by Barnoid - http://www.flickr.com/photos/barnoid/2025811494/
‘pining for maui’ by D’Arcy Norman - http://www.flickr.com/photos/dnorman/2223663304/
111. Credits
Pictures used in this presentation are creative commons attribution licensed pictures. Here
are the owners and the URLS where the originals can be found:
‘Seeing my world through a keyhole’ by Kate Ter Haar - http://www.flickr.com/photos/katerha/4592429363/
‘Dear CNN, please send me push notifi...’ by Alex Valentine - http://www.flickr.com/photos/alexvalentine/5644423659/
Ivo’s portrait in intro, photo by Jelmer de Haas - http://www.jelmerdehaas.com