1. Common routing pitfalls in Ember.js include incorrectly using resources vs routes, not understanding the validation vs setup phase of routing, and assuming route nesting matches template nesting.
2. Other common mistakes include forgetting to use the property helper with computed properties, not passing actions correctly to components, and having invalid JSON that silently fails in Ember Data.
3. Debugging challenges include swallowed promise errors and not using the debugger, console.log, or Ember Inspector tools effectively. Understanding function scope, native array methods, and action bubbling in CoffeeScript can also trip developers up.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Angular Summit 2015Matt Raible
This document discusses the JHipster project, which is a development tool that uses Spring Boot and AngularJS to generate and scaffold Java web applications. It highlights features of JHipster like authentication, metrics dashboards, and support for SQL and NoSQL databases. The document also demos generating a sample blog application using JHipster and shows how much code is generated for entities and the user interface. It promotes staying up to date with trends in Java and web development.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Rich Web Experie...Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project for you and allow you to use Java 7 or 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Grunt or Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication.
For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry, Heroku and Openshift.
Get Hip with JHipster - Denver JUG 2015Matt Raible
My presentation as delivered at the Denver Java User Group on April 8, 2015.
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project for you and allow you to use Java 7 or 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Grunt or Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry, Heroku and Openshift.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx 2015Matt Raible
JHipster is a development platform that generates Spring Boot and AngularJS projects. It aims to make developers hip by including the latest trends like microservices, Docker, and cloud-native technologies. The presentation demonstrated generating a blog application with JHipster and deploying it to the cloud in under 30 minutes. JHipster allows generating CRUD screens from entities and provides features like authentication, metrics monitoring, and internationalization out of the box.
Get Hip with JHipster - Colorado Springs OSS Meetup April 2016Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or JWT. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx UK 2016Matt Raible
Building a modern web (or mobile) application requires a lot of tools, frameworks and techniques. This session shows how JHipster unites popular frameworks like AngularJS, Spring Boot and Bootstrap. Using Yeoman, a scaffolding tool for modern webapps, JHipster will generate a project that uses Java 8, SQL or NoSQL databases, Spring profiles, Maven or Gradle, Gulp.js, WebSockets and BrowserSync. It also supports a number of different authentication mechanisms: classic session-based auth, OAuth 2.0, or token-based authentication. For cloud deployments, JHipster includes out-of-the-box support for Cloud Foundry and Heroku.
Getting Started with Angular - Stormpath Webinar, January 2017Matt Raible
This document provides an overview of Angular and highlights some key points about Matt Raible and his experience with Angular. It discusses Angular's speed, security features, and easy API. It also shows trends in Angular's popularity compared to other frameworks and provides code examples to demonstrate how to get started with Angular. The document encourages learning Angular and directs readers to additional resources like Matt's open source projects and presentations.
The best reason for writing tests is to automate your testing. Without tests, you'll likely be testing manually. This manual testing will take longer and longer as your codebase grows. In this session, you’ll learn how to test an Angular 2 application. You'll learn how to use Jasmine to unit testing components and Protractor for integration testing. We’ll also take a look at code coverage options and explore continuous integration tools.
High Performance JavaScript (CapitolJS 2011)Nicholas Zakas
High Performance JavaScript provides techniques for optimizing JavaScript performance. It discusses how JavaScript execution blocks the browser UI thread, preventing responsive user experiences. It recommends limiting individual JavaScript jobs to under 50ms to avoid unresponsiveness. The document then provides techniques to improve load time performance such as dynamically loading scripts, and runtime techniques like timers and web workers to avoid blocking the UI thread during long-running processes.
The document discusses lessons learned from examining popular jQuery plugins. It summarizes 30 top plugins, describing why each was created and how it grew. Key takeaways are that authors build plugins to make something better, for fun/exploration, or client needs. Managing features and user feedback is challenging. The best plugins have great demos, documentation, browser support testing, and are fun. The author is available for questions.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx France 2016Matt Raible
The document promotes the JHipster development tool for generating Spring Boot and AngularJS projects and provides an overview of its features such as entity generation, authentication, deployment options, and testing tools. It also demonstrates generating a blog application using JHipster and discusses how JHipster can help developers stay on top of the latest trends in Java and web development.
High Performance JavaScript (Amazon DevCon 2011)Nicholas Zakas
The document summarizes techniques for improving JavaScript performance in web applications. It discusses how JavaScript execution blocks the browser UI thread, leading to unresponsive user experiences if scripts run for too long. It then provides recommendations to limit JavaScript execution times to under 50ms and describes load time techniques like placing scripts at the bottom of the page, combining files, and loading scripts dynamically or deferring their execution to improve page load performance.
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016Matt Raible
Microservices are all the rage and being deployed by many Java Hipsters. If you’re working on a large team that needs different release cycles for product components, microservices can be a blessing. If you’re working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain. Share your knowledge and experience about microservices in this informative and code-heavy talk.
We’ll use JHipster (a Yeoman generator) to create Angular + Spring Boot apps on separate instances with a unified front-end. I’ll also show you options for securing your API gateway and individual applications using JWT. Heroku, Kubernetes, Docker, ELK, Spring Cloud, Stormpath; there will be plenty of interesting demos to see!
This document contains information from a presentation on testing Angular applications. It discusses various testing strategies like unit testing, end-to-end testing, and continuous integration/deployment. It also covers tools like Angular CLI, TypeScript, setting up tests, mocking dependencies. Examples of unit testing Angular services and components are provided. Resources like style guides, books, and the presenter's contact details are listed at the end.
Testing Angular 2 Applications - Rich Web 2016Matt Raible
The best reason for writing tests is to automate your testing. Without tests, you'll likely be testing manually. This manual testing will take longer and longer as your codebase grows.
In this session, you’ll learn how to test an Angular 2 application. You'll learn how to use Jasmine to unit test components and Protractor for integration testing. We’ll also take a look at code coverage options and explore continuous integration tools.
Overhauling one of the most visited web sites in the world is a major task, and add on top of it the pressure of keeping performance the same while adding a ton of new features, and you have quite a task. Learn how the Yahoo! homepage team achieved performance parity with the previous version even while adding a ton of new features.
High Performance JavaScript - WebDirections USA 2010Nicholas Zakas
This document summarizes Nicholas C. Zakas' presentation on high performance JavaScript. It discusses how the browser UI thread handles both UI updates and JavaScript execution sequentially. Long running JavaScript can cause unresponsive UIs. Techniques to ensure responsive UIs include limiting JavaScript execution time, using timers or web workers to break up processing, reducing repaints and reflows, and grouping style changes. Hardware acceleration and optimizing JavaScript engines have improved performance but responsive UIs still require discipline.
For much of its existence, JavaScript has been slow. No one complained until developers created complex web applications with thousands of lines of JavaScript code. Although newer JavaScript engines have improved the situation, there’s still a lot to understand about what makes JavaScript slow and what you can do to speed up your code.
JavaScript Timers, Power Consumption, and PerformanceNicholas Zakas
This document discusses how timers, power consumption, and performance are related on web pages. It explains that CPUs can enter low-power sleep states when idle, but timers used in JavaScript can prevent this and increase power usage. The document recommends using higher interval timers (over 15ms) when possible to improve battery life on mobile devices. It also notes that having too many concurrent timers can flood the browser's queue and negatively impact rendering performance.
jQuery Conference San Diego 2014 - Web Performancedmethvin
This document discusses jQuery and web performance. It describes how the jQuery Foundation maintains jQuery code and supports developers. It then discusses recent jQuery releases and how jQuery can be customized and used in different environments. The document outlines how the browser loads pages and the importance of prefetching resources. It recommends tools for analyzing page performance like YSlow, PageSpeed, and webpagetest.org. It provides tips for improving performance such as avoiding unnecessary layouts, optimizing JavaScript loops, and using developer tools to profile scripts and identify bottlenecks.
Play Framework vs Grails Smackdown - JavaOne 2013Matt Raible
The Play vs. Grails Smackdown. A comparison done by James Ward and Matt Raible. Includes detailed analysis from building the same webapp with these two popular JVM Web Frameworks.
See the HTML5 version of this presentation at http://www.ubertracks.com/preso.
The document discusses responsive interfaces and how to keep the user interface responsive when executing JavaScript. It explains that the UI thread is used for both drawing updates and running JavaScript, so no updates can happen while JavaScript runs. It recommends keeping JavaScript execution under 50ms to avoid unresponsiveness, and describes using timers and web workers to split processing over multiple ticks to keep the UI responsive.
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...Matt Raible
In this session, I show how to build a Progressive Web App (PWA) AND a mobile app using Ionic, Angular and JHipster. PWAs are being hyped as the next big thing in mobile development.
This talk describes the trials and tribulations of developing the Ionic Module for JHipster. It will show how you can easily generate Ionic UIs and describe the pain points of working with Node and Yeoman to develop this module.
My Dev Story about Ionic for JHipster on YouTube: https://www.youtube.com/watch?v=B7TjR_rJVeU
In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.
This deck is a conference-agnostic one, suitable to be shown anywhere without site-specific jokes!
Take some time to try various art mediums on your own, recognize your strengths, do research to learn basics, get necessary supplies, observe the world, make time for art daily, and seek feedback to develop your style. Enrolling in classes, studying masters, and visiting art studios can further help you learn from others. While it takes practice, just start creating to become an artist.
- jQuery is a JavaScript library that simplifies HTML document traversal and manipulation, as well as event handling, animation, and Ajax.
- It works by allowing the selection of HTML elements and running functions on those elements via a simple and consistent API.
- Common uses of jQuery include modifying HTML content, CSS styling, handling user events, animating elements, and loading data from web servers via Ajax.
The document discusses jQuery and its uses and methods. It introduces jQuery as a way to write JavaScript code that works across browsers. It provides examples of how jQuery can be used to select and manipulate HTML elements using simpler syntax compared to vanilla JavaScript. Key jQuery methods are also summarized, including how to select elements, modify attributes, handle events, add/move elements, and perform animations and AJAX requests.
Getting Started with Angular - Stormpath Webinar, January 2017Matt Raible
This document provides an overview of Angular and highlights some key points about Matt Raible and his experience with Angular. It discusses Angular's speed, security features, and easy API. It also shows trends in Angular's popularity compared to other frameworks and provides code examples to demonstrate how to get started with Angular. The document encourages learning Angular and directs readers to additional resources like Matt's open source projects and presentations.
The best reason for writing tests is to automate your testing. Without tests, you'll likely be testing manually. This manual testing will take longer and longer as your codebase grows. In this session, you’ll learn how to test an Angular 2 application. You'll learn how to use Jasmine to unit testing components and Protractor for integration testing. We’ll also take a look at code coverage options and explore continuous integration tools.
High Performance JavaScript (CapitolJS 2011)Nicholas Zakas
High Performance JavaScript provides techniques for optimizing JavaScript performance. It discusses how JavaScript execution blocks the browser UI thread, preventing responsive user experiences. It recommends limiting individual JavaScript jobs to under 50ms to avoid unresponsiveness. The document then provides techniques to improve load time performance such as dynamically loading scripts, and runtime techniques like timers and web workers to avoid blocking the UI thread during long-running processes.
The document discusses lessons learned from examining popular jQuery plugins. It summarizes 30 top plugins, describing why each was created and how it grew. Key takeaways are that authors build plugins to make something better, for fun/exploration, or client needs. Managing features and user feedback is challenging. The best plugins have great demos, documentation, browser support testing, and are fun. The author is available for questions.
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - Devoxx France 2016Matt Raible
The document promotes the JHipster development tool for generating Spring Boot and AngularJS projects and provides an overview of its features such as entity generation, authentication, deployment options, and testing tools. It also demonstrates generating a blog application using JHipster and discusses how JHipster can help developers stay on top of the latest trends in Java and web development.
High Performance JavaScript (Amazon DevCon 2011)Nicholas Zakas
The document summarizes techniques for improving JavaScript performance in web applications. It discusses how JavaScript execution blocks the browser UI thread, leading to unresponsive user experiences if scripts run for too long. It then provides recommendations to limit JavaScript execution times to under 50ms and describes load time techniques like placing scripts at the bottom of the page, combining files, and loading scripts dynamically or deferring their execution to improve page load performance.
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016Matt Raible
Microservices are all the rage and being deployed by many Java Hipsters. If you’re working on a large team that needs different release cycles for product components, microservices can be a blessing. If you’re working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain. Share your knowledge and experience about microservices in this informative and code-heavy talk.
We’ll use JHipster (a Yeoman generator) to create Angular + Spring Boot apps on separate instances with a unified front-end. I’ll also show you options for securing your API gateway and individual applications using JWT. Heroku, Kubernetes, Docker, ELK, Spring Cloud, Stormpath; there will be plenty of interesting demos to see!
This document contains information from a presentation on testing Angular applications. It discusses various testing strategies like unit testing, end-to-end testing, and continuous integration/deployment. It also covers tools like Angular CLI, TypeScript, setting up tests, mocking dependencies. Examples of unit testing Angular services and components are provided. Resources like style guides, books, and the presenter's contact details are listed at the end.
Testing Angular 2 Applications - Rich Web 2016Matt Raible
The best reason for writing tests is to automate your testing. Without tests, you'll likely be testing manually. This manual testing will take longer and longer as your codebase grows.
In this session, you’ll learn how to test an Angular 2 application. You'll learn how to use Jasmine to unit test components and Protractor for integration testing. We’ll also take a look at code coverage options and explore continuous integration tools.
Overhauling one of the most visited web sites in the world is a major task, and add on top of it the pressure of keeping performance the same while adding a ton of new features, and you have quite a task. Learn how the Yahoo! homepage team achieved performance parity with the previous version even while adding a ton of new features.
High Performance JavaScript - WebDirections USA 2010Nicholas Zakas
This document summarizes Nicholas C. Zakas' presentation on high performance JavaScript. It discusses how the browser UI thread handles both UI updates and JavaScript execution sequentially. Long running JavaScript can cause unresponsive UIs. Techniques to ensure responsive UIs include limiting JavaScript execution time, using timers or web workers to break up processing, reducing repaints and reflows, and grouping style changes. Hardware acceleration and optimizing JavaScript engines have improved performance but responsive UIs still require discipline.
For much of its existence, JavaScript has been slow. No one complained until developers created complex web applications with thousands of lines of JavaScript code. Although newer JavaScript engines have improved the situation, there’s still a lot to understand about what makes JavaScript slow and what you can do to speed up your code.
JavaScript Timers, Power Consumption, and PerformanceNicholas Zakas
This document discusses how timers, power consumption, and performance are related on web pages. It explains that CPUs can enter low-power sleep states when idle, but timers used in JavaScript can prevent this and increase power usage. The document recommends using higher interval timers (over 15ms) when possible to improve battery life on mobile devices. It also notes that having too many concurrent timers can flood the browser's queue and negatively impact rendering performance.
jQuery Conference San Diego 2014 - Web Performancedmethvin
This document discusses jQuery and web performance. It describes how the jQuery Foundation maintains jQuery code and supports developers. It then discusses recent jQuery releases and how jQuery can be customized and used in different environments. The document outlines how the browser loads pages and the importance of prefetching resources. It recommends tools for analyzing page performance like YSlow, PageSpeed, and webpagetest.org. It provides tips for improving performance such as avoiding unnecessary layouts, optimizing JavaScript loops, and using developer tools to profile scripts and identify bottlenecks.
Play Framework vs Grails Smackdown - JavaOne 2013Matt Raible
The Play vs. Grails Smackdown. A comparison done by James Ward and Matt Raible. Includes detailed analysis from building the same webapp with these two popular JVM Web Frameworks.
See the HTML5 version of this presentation at http://www.ubertracks.com/preso.
The document discusses responsive interfaces and how to keep the user interface responsive when executing JavaScript. It explains that the UI thread is used for both drawing updates and running JavaScript, so no updates can happen while JavaScript runs. It recommends keeping JavaScript execution under 50ms to avoid unresponsiveness, and describes using timers and web workers to split processing over multiple ticks to keep the UI responsive.
Developing PWAs and Mobile Apps with Ionic, Angular, and JHipster - Devoxx Mo...Matt Raible
In this session, I show how to build a Progressive Web App (PWA) AND a mobile app using Ionic, Angular and JHipster. PWAs are being hyped as the next big thing in mobile development.
This talk describes the trials and tribulations of developing the Ionic Module for JHipster. It will show how you can easily generate Ionic UIs and describe the pain points of working with Node and Yeoman to develop this module.
My Dev Story about Ionic for JHipster on YouTube: https://www.youtube.com/watch?v=B7TjR_rJVeU
In the beginning, progressive enhancement was simple: HTML layered with CSS layered with JavaScript. That worked fine when there were two browsers, but in today's world of multiple devices and multiple browsers, it's time for a progressive enhancement reboot. At the core is the understanding that the web is not print - the same rules don't apply. As developers and consumers we've been fooled into thinking about print paradigms for too long. In this talk, you'll learn just how different the web is and how the evolution of progressive enhancement can lead to better user experiences as well as happier developers and users.
This deck is a conference-agnostic one, suitable to be shown anywhere without site-specific jokes!
Take some time to try various art mediums on your own, recognize your strengths, do research to learn basics, get necessary supplies, observe the world, make time for art daily, and seek feedback to develop your style. Enrolling in classes, studying masters, and visiting art studios can further help you learn from others. While it takes practice, just start creating to become an artist.
- jQuery is a JavaScript library that simplifies HTML document traversal and manipulation, as well as event handling, animation, and Ajax.
- It works by allowing the selection of HTML elements and running functions on those elements via a simple and consistent API.
- Common uses of jQuery include modifying HTML content, CSS styling, handling user events, animating elements, and loading data from web servers via Ajax.
The document discusses jQuery and its uses and methods. It introduces jQuery as a way to write JavaScript code that works across browsers. It provides examples of how jQuery can be used to select and manipulate HTML elements using simpler syntax compared to vanilla JavaScript. Key jQuery methods are also summarized, including how to select elements, modify attributes, handle events, add/move elements, and perform animations and AJAX requests.
The document discusses technical testing of trading systems. It outlines the key approaches to performance, stability, and operability testing. The main tasks involved are using test tools to emulate real loads and conditions, preparing test environments and load shapes based on production data, executing automated tests, and thoroughly analyzing results to validate findings. Technical testing helps validate systems' non-functional requirements around performance, stability, and handling high volumes of data and users.
Performance optimization is a crucial aspect of building ‘snappy’ client-side applications and something which all developers using jQuery should bear in mind. In this talk, we're going to take a look at some of the best practices, tips and tricks for improving the performance of your jQuery code in 2011 with some quick wins and a few new surprises along the way.
From http://wiki.directi.com/x/AgAa - This is a 24 slide internal presentation covering virtues of Automated Testing vs Manual Testing. Inkeeping with our agile adoption this presentation covers various advantages (11 to be specific) obtained in using TDD and Automated Testing as opposed to Manual Testing
1) The Bible does not prescribe a specific posture or location for prayer, but rather that prayer should be a sincere connection between the individual and God without attention seeking.
2) Jesus teaches that prayer should be done privately and without empty, repetitive words. He provides the Lord's Prayer as a model for elements that should be included in prayer like worship, trust in God, requests, confession, and submission to God's will.
3) The proper way to pray is with an open heart to God, being honest while keeping in mind God's will and asking for things that would honor him. God is interested in the intentions and content of our hearts rather than the exact words used.
Este documento analiza las costumbres culturales desde una perspectiva no etnocéntrica. Examina la tradición hindú de no comer carne de vaca y cómo tiene razones prácticas como el uso de las vacas para el trabajo agrícola y el estiércol como fertilizante. Luego critica las prácticas occidentales de consumo excesivo de carne, uso ineficiente de recursos para alimentar ganado y pérdida de tierras que podrían cultivarse para alimentar personas. El objetivo es mostrar que ninguna cultura es intr
This document summarizes trends in DNA sequencing methods and applications. It discusses the purpose and historical methods of DNA sequencing, including the Maxam-Gilbert and Sanger methods. Next generation sequencing methods like Roche 454, Illumina, SOLiD, Ion Torrent, and PacBio are described. Applications of sequencing include analyzing gene structure, detecting mutations, microbial identification, and whole genome sequencing. The document provides details on sequencing techniques, platforms, yields, and error rates.
This document discusses the postmillennial view of eschatology. It believes that through the preaching of the gospel, the world will gradually Christianize to a point where evil is reduced and most of society lives according to Christian principles. At this point, Christ will return to a truly Christianized world. The document references several biblical passages like the Great Commission and Psalms that are used to support the victory of Christianity throughout the world. However, it also notes some criticisms of postmillennialism, like its interpretation of Revelation 20 and whether the current trends truly point to greater Christianization.
WAP (Wireless Application Protocol) is a standard for accessing information on mobile devices like phones. It uses WML (Wireless Markup Language) instead of HTML. WAP has a layered architecture including application, session, security, transaction, and transport layers. It allows access to the internet from mobile devices in a standardized way and is supported by most phone manufacturers and wireless networks.
Overview of how Foursquare works plus information on how businesses can benefit from Foursquare. Also includes case study results from the Foursquare crowdsourcing experiment with the launch of Vancouver.
The document provides instructions on how to perform various accounting tasks in Tally.ERP 9 such as creating a company, ledger accounts, inventory items, voucher entries, and generating reports. It explains how to configure accounting features and statutory/tax settings. It also summarizes the key advantages of Tally.ERP 9 like increased audit efficiency through remote access and its limitations like lack of alerts for credit limit exceeds.
The document summarizes the history and reorganizations of Philips and Matsushita (Panasonic). Philips was founded in 1892 and built its success on innovation but struggled as national organizations gained power over product divisions. Matsushita was founded in 1918 and its divisional structure and internal competition drove innovation. Both companies underwent numerous reorganizations and leadership changes to address changing markets, with Philips eventually focusing on technology development and Panasonic emphasizing systems and services.
Government document on NSA tool that collects 'nearly everything a user does on the internet' via the Guardian http://www.theguardian.com/world/2013/jul/31/nsa-top-secret-program-online-data
The document describes the process of analyzing sequencing reads from raw sequence data to analysis-ready reads. It discusses obtaining raw reads in FASTQ format, assessing read quality, mapping reads to a reference genome, sorting and indexing alignments, realigning around indels, marking duplicate reads, and recalibrating base quality scores to produce analysis-ready reads for downstream analyses like variant calling and gene expression quantification.
Electron Microscopy Between OPIC, Oxford and eBICJisc
From Jisc's campus network engineering for data-intensive science workshop on 19 October 2016.
https://www.jisc.ac.uk/events/campus-network-engineering-for-data-intensive-science-workshop-19-oct-2016
An overview of implementation Social Media as part of marketing tools for Small Businesses. Shared during seminar workshop session together with Akademi Berbagi @AkademiBerbagi with TELKOM
John Resig has been researching the mobile space and wants to ensure jQuery works well across popular mobile platforms and browsers. He discusses the challenges of defining the relevant platforms and browser versions due to a lack of public statistics. His testing strategy involves drawing a line to determine what to support, buying devices, downloading simulators, and using TestSwarm for automated testing. He recommends simulators and devices for different levels of support.
The document discusses the future of mobile applications and frameworks. It covers HTML5 and cross-platform mobile development using PhoneGap. PhoneGap allows developing mobile apps using web technologies like HTML, CSS, and JavaScript that can access native device capabilities and be deployed to various mobile platforms. The document provides an overview of PhoneGap, mobile design considerations, and an example of building a photo sharing application using PhoneGap.
Maximiliano Firtman - Разработка приложений с помощью PhoneGap .toster
Max Firtman is a mobile and web developer based in Buenos Aires, Argentina. PhoneGap is an open source framework that allows building cross-platform mobile apps using HTML, CSS, and JavaScript. It works by packaging web apps so they can be deployed and distributed as native mobile applications. PhoneGap supports many mobile platforms but each still requires separate compilation. Debugging mobile web apps can also be challenging.
Max Firtman is a mobile and web developer based in Buenos Aires, Argentina. PhoneGap is an open source framework that allows building cross-platform mobile apps using HTML, CSS, and JavaScript. It works by packaging web apps so they can be deployed and run as native mobile applications. PhoneGap supports many mobile platforms but each still requires separate compilation. Debugging mobile web apps can also be challenging. The speaker provides advice around maintaining a single codebase, embracing platform differences, and focusing on performance and the best experience for each context.
This document discusses trends in mobile application testing. It covers the major mobile operating systems including iOS, Android, Blackberry OS, Windows Phone 7, and others. It also discusses testing methodologies, porting concepts, testing tools, and considerations for battery consumption testing. The trends highlighted include the increasing fragmentation of devices and operating systems requiring more robust testing approaches.
jQuery released new versions 1.4.3 and 1.4.4 with improvements to modularity, CSS, performance, and support for HTML5 data attributes. A JSLint tool was integrated to improve code quality. jQuery Mobile was introduced as a new official plugin to build websites and applications for multiple mobile platforms using progressive enhancement. Testing strategies were discussed including using simulators, TestSwarm for automation, and drawing a line to determine which browsers to support.
PhoneGap is a framework for building cross-platform mobile apps using HTML, CSS and JavaScript. It allows accessing native device features like the camera and contacts via JavaScript APIs. Apps built with PhoneGap can run on platforms like iOS, Android, Windows Phone and Blackberry. While the apps have a native look and feel, they are actually wrapped webviews displaying web-based content. The document discusses PhoneGap's capabilities, considerations around performance and differences in platform styling. It also provides tips on tools for easier compilation, dealing with memory leaks and deploying apps to app stores.
This document discusses mobile app development using hybrid technologies like Apache Cordova. It provides an example of a company called Ion Global that successfully enabled their web app for mobile using Cordova. They initially ported the web app to mobile with minimal changes, which led to poor user experience and low sales. After conducting user research, they rebuilt the mobile app using the Ionic framework, focusing only on the most used features. This led to significantly improved sales. The document promotes hybrid mobile development using tools like Cordova and frameworks like Ionic, highlighting how they allow developing once and deploying to multiple platforms using web technologies. It provides various resources for getting started with hybrid mobile development.
- Nic Jansma is a developer who previously worked at Microsoft and recently founded Wolverine Digital to develop high-performance websites and apps.
- He used Appcelerator Titanium to build cross-platform mobile apps, including a LEGO Minifigure catalog app, allowing him to write code once and deploy to both iOS and Android.
- While Titanium allowed cross-platform development, Nic still encountered platform-specific issues and the need to occasionally write platform-specific code, but found Titanium a good choice overall for his needs.
Apache Cordova allows developers to use web technologies like HTML, CSS, and JavaScript to develop mobile applications that can be deployed across multiple platforms. It provides a boilerplate native container application with a web view interface to access device functionality through plugins. Many large companies and organizations use Cordova due to its ability to quickly release apps on Android, iOS, Windows Phone and other platforms while reusing most of the codebase. While it has advantages, Cordova apps also face challenges from differing device behaviors and platform expectations.
Slides from a presentation I gave at these conferences:
— Big Design
— Front Porch
— Thunder Plains
— Web Afternoon
I co-presented at Big Design with Matt Baxter.
http://twitter.com/mbxtr
HTML5 or Android for Mobile Development?Reto Meier
Android apps or the mobile web? It's often a hard choice when deciding where to invest your mobile development resources. While the mobile web continues to grow, apps and app stores are incredibly popular. We will present both perspectives and offer some suggestions for making the most of each platform.
Once a proud Front End developer, now a total Mobile Automation n00b. I was given the task of rethinking mobile automation at the startup EverythingMe and got familiarized with this exciting new field. In this talk, I present the questions and answers I needed as a newcomer in order to begin the journey.
This document discusses the future of hybrid apps and web technologies. It covers Firefox OS, which uses web APIs as its platform; PhoneGap, which allows developing installable apps using web technologies that access native device APIs; and web components, which allow building reusable custom HTML elements. The document encourages developing apps using these open web technologies and provides examples of building components using upcoming standards like Web Components.
This document discusses PhoneGap, an open-source framework that allows developers to build mobile applications using standardized web APIs for accessing native device functions on various mobile platforms. It provides an overview of PhoneGap's history and goals of supporting web apps as first-class platforms, outlines its licensing and commitment to open web standards, and describes how it uses a bridge technique to enable calling native device APIs from JavaScript. The document also discusses PhoneGap's platform support, upcoming roadmap priorities around plugins, performance, security and tooling, and how it aims to support common development tasks through tools and automation.
This document provides an overview of the history and current state of mobile application development. It discusses the evolution of mobile operating systems from early Palm OS and Symbian to current leaders like Android and iOS. It also covers development frameworks including native, non-native like PhoneGap and Titanium, and the future of wearable technology.
This document discusses the goals and plans for Sprint #0 of a mobile app project using the Ionic framework. It introduces Ionic, AngularJS, and Cordova, explaining what they are and how they can be used together. It provides tutorials and code snippets for setting up projects with these technologies. The document also lists some additional tools that could be useful, such as Ionic View, Ionic Creator, Ionic Playground, and ngCordova.
This document summarizes the differences between Adobe PhoneGap and Apache Cordova. Both PhoneGap and Cordova allow developers to build hybrid mobile apps using HTML, CSS, and JavaScript. While PhoneGap and Cordova provide the same core APIs, there are some differences in commands, default configuration files, and available versions. Overall, PhoneGap and Cordova result in apps with the same capabilities, but Cordova provides more flexibility in customizing native code.
State of jQuery - AspDotNetStorefront Conferencedmethvin
The document discusses the state of jQuery and the jQuery Foundation. It provides an overview of the non-profit jQuery Foundation organization and its projects. It also summarizes the jQuery team's initiatives and contributors from around the world. The document outlines the plans for future versions of jQuery, including jQuery 1.11/2.1, and discusses strategies and tools for web performance and browser compatibility.
John Resig discusses coding every day in an August 2016 article. He started coding daily in November 2013 and has continued the practice since. While coding daily works for him by making it easier to remember projects, relieving anxiety, and allowing non-weekend work, he acknowledges it may not be necessary for others. Resig emphasizes that having passion for coding and setting goals are critical for learning and success, more so than daily coding itself.
John Resig discusses four problems that digital librarians face: 1) searching by image without exact matches, 2) disagreements on names and titles, 3) poor quality images, and 4) educating users. He provides examples and potential solutions for each problem, including image search tools, handling alternate names and formats, improving images through cropping and computer vision, and using question/answer interfaces to educate users. Resig advocates for open source tools and collaborative solutions to advance access to knowledge.
Neo4j is a graph database that represents data as nodes and relationships. Nodes are JSON documents that can have labels. Relationships are JSON documents that connect nodes and can have labels. Cypher is the query language for Neo4j that allows users to match patterns in the graph, return results, import and export data, and perform other operations like finding missing connections between nodes.
Computer Vision as Art Historical Investigationjeresig
This document summarizes a symposium honoring James Watrous that included discussions on using computer vision in art historical investigation and image similarity analysis to study woodblock prints. It describes how image analysis can help identify similar images across different collections and merging photo archives to create a large international image database for researchers.
This document summarizes John Resig's process for hacking art history databases for fun and profit. It describes scraping woodblock print data from websites, processing the data with tools like Node.js and MongoDB, and building a searchable online database called Ukiyo-e.org. It also discusses using image analysis and similarity search to validate print data and identify copies. The goal is to aid the study of woodblock prints by building open tools and data.
1) Khan Academy teaches programming concepts to over 1.3 million students per month online.
2) They have developed a real-time JavaScript editor that uses static analysis to build challenges and allow coding on tablets and phones.
3) It runs code through analysis tools to provide error messages and hints, then uses abstract syntax trees and structured testing to check for specific functions, arguments, and program structures.
Computer vision techniques can be applied to art history in both supervised and unsupervised ways. Unsupervised methods like using image similarity tools to compare entire images or image portions can help find similar or matching images without labeling data. Supervised methods like object detection or image categorization require large labeled training datasets but can provide more precise results, identifying specific parts or categories within images. Both approaches require significant computing resources, with supervised methods needing thousands of training images and days of processing time.
The document summarizes research using image analysis to match photographs across multiple art archives, including the Frick Art Reference Library Photoarchive and the Frederico Zeri Foundation archive. Running image matching software on over 1.2 million Frick photos and 290,000 Zeri photos revealed new connections within and between the archives. Combining the archives through automated matching discovered over 1,000 new artwork connections that had not previously been found by human researchers. The analysis demonstrates the potential of merging photo archives through computational methods to reveal new relationships and insights.
EmpireJS: Hacking Art with Node js and Image Analysisjeresig
The document discusses using computer vision and Node.js to analyze Japanese artworks like woodblock prints. It describes collecting data on prints through web scraping, processing the data with tools like PhantomJS, and using image analysis to aid studies of prints by correcting metadata and matching images. The goal is to build a website that facilitates research on ukiyo-e prints through techniques like similarity search and automated data cleaning.
This document discusses how computer vision techniques can be applied to art history. It provides an overview of different computer vision approaches such as optical character recognition (OCR), face recognition, and image similarity/categorization. Unsupervised techniques like OCR and image similarity require little labeling of data but may not provide as interesting results. Supervised techniques can more precisely locate parts of images or categorize images but require large labeled datasets. The document recommends several free and open-source computer vision libraries and tools that can be used to explore applying these techniques to art history, along with some caveats about training data requirements.
The document discusses several popular JavaScript libraries including Dojo, Prototype, jQuery, Mochikit, and Yahoo UI. It compares the libraries based on their focus, DOM support, events/effects handling, documentation, community, file size, and popularity. The libraries provide a variety of features like DOM manipulation, Ajax capabilities, and animations to make JavaScript development easier.
This document summarizes jQuery, an open source JavaScript library. It simplifies HTML and JavaScript interaction by allowing developers to select elements, handle events, perform animations and AJAX calls with simple and concise code. The document highlights key features like DOM manipulation, events, effects and plugins. It also discusses jQuery's community, adoption by major sites, and future plans.
This document discusses jQuery and web standards. It summarizes jQuery's goal of hiding browser compatibility issues while providing a simple API. It also discusses jQuery's success competing with other JavaScript libraries. The document outlines several specifications that are important to jQuery, with the DOM being the most significant. It then lists several standards and features that jQuery has used successfully. The majority of the document proposes additional standards and browser features that would be useful for jQuery and JavaScript libraries going forward, including better DOM manipulation APIs and event handling capabilities.
This document summarizes the key aspects of jQuery's open source process that contributed to its early success. In the first month, new users were able to get started quickly by exploring the simple API through tutorials. An active community provided support through forums, IRC, blogs and Twitter. Documentation and examples helped users learn and expand their skills. Over the first year, as users built more applications with jQuery, its easy to use but powerful API led to increased adoption. The open development process also engaged users and helped the project grow.
jQuery Open Source Process (Knight Foundation 2011)jeresig
This document summarizes the key aspects of jQuery's open source process that contributed to its early success. It discusses how jQuery provided clear documentation, tutorials, and community resources to help users learn. It emphasizes keeping the API simple and focused on usability. It also highlights the importance of monitoring community feedback and responding to user questions. Maintaining an open development process helped users continue growing with jQuery over time.
jQuery Mobile aims to fill the gap in mobile web development by providing a framework that works across all major mobile platforms and browsers without sacrificing the user experience. It is a two-phase project: phase one focuses on making jQuery core functionality work across all popular mobile browsers through testing and bug fixes; phase two introduces jQuery Mobile, a framework for building mobile websites and applications with widgets, layouts, and a progressive enhancement approach to ensure broad compatibility.
This document discusses best practices for supporting users of open source projects based on jQuery's experience. It emphasizes providing documentation, tutorials, community support and an open development process to help users learn and succeed with the tool from their first day of use through becoming long-term contributors. Key aspects include simplifying the first experience, answering questions, addressing all skill levels, and enabling extensibility to keep users engaged over time.
This document discusses holistic performance analysis and optimization in JavaScript. It emphasizes the importance of proving performance changes with benchmarks, considering the full browser stack and real-world use cases, maintaining clean code, prioritizing cross-browser compatibility, and clearly communicating results. Key tools mentioned include JSPerf for benchmarking, BrowserScope for hosting performance data, and Google Code Search for understanding real-world usage of APIs. The document advocates optimizing against past performance rather than competitors.
This document summarizes new features coming in major browsers, including Firefox 3.5, Safari 4, Internet Explorer 9, Opera 10, and Google Chrome 2. The browsers will have better JavaScript performance due to advanced engines like TraceMonkey, SquirrelFish, and V8. New features include process per tab, postMessage for cross-domain communication, getElementsByClassName, querySelectorAll, and HTML5 features like local SQL storage, JSON support, and canvas drawing.
jQuery is an open source JavaScript library that simplifies HTML and JavaScript interaction. It has a small file size, is fully documented, and supported across many browsers. jQuery allows developers to select elements, perform actions on them such as effects, events, DOM manipulation, and AJAX requests, using its simple and concise syntax.
Enhancing ICU Intelligence: How Our Functional Testing Enabled a Healthcare I...Impelsys Inc.
Impelsys provided a robust testing solution, leveraging a risk-based and requirement-mapped approach to validate ICU Connect and CritiXpert. A well-defined test suite was developed to assess data communication, clinical data collection, transformation, and visualization across integrated devices.
"Client Partnership — the Path to Exponential Growth for Companies Sized 50-5...Fwdays
Why the "more leads, more sales" approach is not a silver bullet for a company.
Common symptoms of an ineffective Client Partnership (CP).
Key reasons why CP fails.
Step-by-step roadmap for building this function (processes, roles, metrics).
Business outcomes of CP implementation based on examples of companies sized 50-500.
Role of Data Annotation Services in AI-Powered ManufacturingAndrew Leo
From predictive maintenance to robotic automation, AI is driving the future of manufacturing. But without high-quality annotated data, even the smartest models fall short.
Discover how data annotation services are powering accuracy, safety, and efficiency in AI-driven manufacturing systems.
Precision in data labeling = Precision on the production floor.
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersLynda Kane
Slide Deck from Automation Dreamin'2022 presentation Sharing Some Gratitude with Your Users on creating a Flow to present a random statement of Gratitude to a User in Salesforce.
Automation Hour 1/28/2022: Capture User Feedback from AnywhereLynda Kane
Slide Deck from Automation Hour 1/28/2022 presentation Capture User Feedback from Anywhere presenting setting up a Custom Object and Flow to collection User Feedback in Dynamic Pages and schedule a report to act on that feedback regularly.
Big Data Analytics Quick Research Guide by Arthur MorganArthur Morgan
This is a Quick Research Guide (QRG).
QRGs include the following:
- A brief, high-level overview of the QRG topic.
- A milestone timeline for the QRG topic.
- Links to various free online resource materials to provide a deeper dive into the QRG topic.
- Conclusion and a recommendation for at least two books available in the SJPL system on the QRG topic.
QRGs planned for the series:
- Artificial Intelligence QRG
- Quantum Computing QRG
- Big Data Analytics QRG
- Spacecraft Guidance, Navigation & Control QRG (coming 2026)
- UK Home Computing & The Birth of ARM QRG (coming 2027)
Any questions or comments?
- Please contact Arthur Morgan at [email protected].
100% human made.
Hands On: Create a Lightning Aura Component with force:RecordDataLynda Kane
Slide Deck from the 3/26/2020 virtual meeting of the Cleveland Developer Group presentation on creating a Lightning Aura Component using force:RecordData.
Procurement Insights Cost To Value Guide.pptxJon Hansen
Procurement Insights integrated Historic Procurement Industry Archives, serves as a powerful complement — not a competitor — to other procurement industry firms. It fills critical gaps in depth, agility, and contextual insight that most traditional analyst and association models overlook.
Learn more about this value- driven proprietary service offering here.
Technology Trends in 2025: AI and Big Data AnalyticsInData Labs
At InData Labs, we have been keeping an ear to the ground, looking out for AI-enabled digital transformation trends coming our way in 2025. Our report will provide a look into the technology landscape of the future, including:
-Artificial Intelligence Market Overview
-Strategies for AI Adoption in 2025
-Anticipated drivers of AI adoption and transformative technologies
-Benefits of AI and Big data for your business
-Tips on how to prepare your business for innovation
-AI and data privacy: Strategies for securing data privacy in AI models, etc.
Download your free copy nowand implement the key findings to improve your business.
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxshyamraj55
We’re bringing the TDX energy to our community with 2 power-packed sessions:
🛠️ Workshop: MuleSoft for Agentforce
Explore the new version of our hands-on workshop featuring the latest Topic Center and API Catalog updates.
📄 Talk: Power Up Document Processing
Dive into smart automation with MuleSoft IDP, NLP, and Einstein AI for intelligent document workflows.
Rock, Paper, Scissors: An Apex Map Learning JourneyLynda Kane
Slide Deck from Presentations to WITDevs (April 2021) and Cleveland Developer Group (6/28/2023) on using Rock, Paper, Scissors to learn the Map construct in Salesforce Apex development.
Mobile App Development Company in Saudi ArabiaSteve Jonas
EmizenTech is a globally recognized software development company, proudly serving businesses since 2013. With over 11+ years of industry experience and a team of 200+ skilled professionals, we have successfully delivered 1200+ projects across various sectors. As a leading Mobile App Development Company In Saudi Arabia we offer end-to-end solutions for iOS, Android, and cross-platform applications. Our apps are known for their user-friendly interfaces, scalability, high performance, and strong security features. We tailor each mobile application to meet the unique needs of different industries, ensuring a seamless user experience. EmizenTech is committed to turning your vision into a powerful digital product that drives growth, innovation, and long-term success in the competitive mobile landscape of Saudi Arabia.
Leading AI Innovation As A Product Manager - Michael JidaelMichael Jidael
Unlike traditional product management, AI product leadership requires new mental models, collaborative approaches, and new measurement frameworks. This presentation breaks down how Product Managers can successfully lead AI Innovation in today's rapidly evolving technology landscape. Drawing from practical experience and industry best practices, I shared frameworks, approaches, and mindset shifts essential for product leaders navigating the unique challenges of AI product development.
In this deck, you'll discover:
- What AI leadership means for product managers
- The fundamental paradigm shift required for AI product development.
- A framework for identifying high-value AI opportunities for your products.
- How to transition from user stories to AI learning loops and hypothesis-driven development.
- The essential AI product management framework for defining, developing, and deploying intelligence.
- Technical and business metrics that matter in AI product development.
- Strategies for effective collaboration with data science and engineering teams.
- Framework for handling AI's probabilistic nature and setting stakeholder expectations.
- A real-world case study demonstrating these principles in action.
- Practical next steps to begin your AI product leadership journey.
This presentation is essential for Product Managers, aspiring PMs, product leaders, innovators, and anyone interested in understanding how to successfully build and manage AI-powered products from idea to impact. The key takeaway is that leading AI products is about creating capabilities (intelligence) that continuously improve and deliver increasing value over time.
2. I’ve been researching and trying to make
sense of the mobile space recently.
Started preparations in 2009 (with the creation of TestSwarm).
3. Cross-browser mobile web development is crazy.
(...but not nearly as crazy as it use to be.)
I’ve seen things...
4. A Simple Goal
✤ Started with a simple goal:
✤ To make sure that jQuery works on the most popular mobile
platforms and browsers.
✤ As it turns out, it’s really hard to define the scope of the problem.
5. Questions: Answered
✤ Three questions that need to be answered before doing mobile
development:
✤ What platforms and browsers are popular?
✤ What browsers are capable of supporting modern scripting?
✤ What devices and simulators do I acquire to test with?
✤ To answer those questions we need good data.
6. Best Stats?
✤ Who has the best statistics on the mobile market?
✤ StatCounter and Gartner seem to be tops.
✤ StatCounter covers billions of hits per month.
✤ Gartner is well-respected and knows sale information well.
✤ AdMob is decent for specific platforms (iPhone, Android).
✤ That being said: Very little actually-useful information leaks out.
7. Lack of Information
✤ Right now finding this information is a challenge.
✤ As a result, developers develop for what’s in front of them:
12. Hard Question
✤ What versions of those browsers are popular?
✤ No one seems to know, or isn’t talking about it.
✤ Supposedly Yahoo is going to be releasing some
information soon, we’ll see.
✤ Right now it’s considered to be a competitive
advantage to keep it private.
13. Testing Strategy
✤ Draw a line in the sand
✤ Buy Devices, Download Simulators
✤ Automate testing (TestSwarm!)
14. Drawing a Line
✤ Yahoo!s Graded Browser Support technique is optimal.
✤ Qualify which browsers you will support (actively test against) and
give them a grade.
✤ A = Full support, C = Fall back to old site, Other = Assume full
support.
16. My God... it’s full of browsers...
Mobile Graded Browser Support: Market share + Browser quality
17. Testing Browsers
✤ Two options:
✤ Buy devices and/or
✤ Download simulators
✤ Simulators are good for most automated testing.
✤ Any sort of interaction testing you’ll want to do on a physical device.
✤ Always good to do a sanity check on a physical device before going
live.
18. Simulators
✤ Simulators are available for most platforms and browsers.
✤ Most simulators require Windows to run (some require Perl or
Java)
✤ Some browsers even provide standalone executables (Opera, Fennec).
✤ Getting the simulators running can be a real bear.
19. Automated Testing
✤ Once you have simulators (or physical devices) up and running you’ll
want to interact with them as little as possible.
✤ Automated test execution will be really important.
✤ TestSwarm was developed for this express purpose: Make it easy to
push tests out to a large number of clients (even mobile).
20. Platforms
✤ Symbian (S60 / UIQ)
✤ iPhone OS
✤ Blackberry OS
✤ Android
✤ Windows Mobile
✤ WebOS
✤ Maemo / Meego
22. Symbian S60
✤ The most popular mobile OS - heavily used by Nokia.
✤ v5.0 is for touch screen devices (Equiv. to Safari 3.1)
✤ v3.0 is the latest for ‘regular’ devices (Equiv. to Safari 2.0)
✤ 2 ‘feature packs’ have been released
✤ The oldest, active, mobile browser that should be supported.
✤ Simulators available on Nokia.com.
24. Symbian UIQ
✤ A now-dead implementation of the Symbian OS last released in 2008.
✤ Appears to still be in use, some what, but quickly becoming
irrelevant.
✤ Uses Opera Mobile (8.6, 8.65) as its built-in browser.
✤ UIQ is dead and Nokia doesn’t distribute the simulator any more. I
found a guy in Russia that has some extra copies (totally legit, heh).
26. iPhone OS
✤ Apple’s super-popular mobile OS
✤ Apple is very good about pushing
updates, almost all users are on the
latest OS version.
✤ Current with Safari 4
✤ A gotchya: Does not have fixed position support (making it difficult
to implement toolbars). Recommend: TouchScroll library.
✤ Simulator is part of the iPhone SDK.
28. Blackberry OS
✤ Blackberry continues to be enormously popular - and growing
rapidly.
✤ Ships with a custom browser, will be switching to a WebKit-based one
in 6.0.
✤ Anything older than Blackberry 4.6 is really frightening.
✤ Andrew Dupont calls 4.6 the “rubicon”.
✤ 4.6/4.7 have some strange quirks, 5.0 is pretty decent.
✤ Blackberry provides simulator downloads on their dev site.
30. Android
✤ Rapidly growing OS from Google.
✤ Tons of manufacturers are
modifying and shipping it.
✤ Expect Android to grow
drastically over the next couple
years.
✤ Lack of control has yielded
extreme version fracturing.
✤ Simulators are an easy download.
32. Windows Mobile
✤ Windows Mobile 6.5 is the current release.
✤ Uses IE 6 as its rendering engine.
✤ Window Mobile 7.0 is coming soon.
✤ Uses IE 7 as its rendering engine. :-( :-( :-( :,(
✤ Window Mobile 6.1 is still relatively popular but is based off of IE 4.0
- this is a non-starter.
✤ Windows Mobile 6.5 simulator is an easy download.
34. WebOS
✤ Palm’s (HP’s?) Mobile OS
✤ Has a minimal amount of traction.
✤ Built off of WebKit, easy to support.
✤ 1.4 simulator ships with 1.3 browser (wtf!?)
✤ I’m testing using a physical Palm Pre.
✤ Palm Pre simulator is an easy download.
A
35. Maemo / Meego
✤ Linux-based OS used for tablets (and
potentially phones). Used by Nokia.
✤ Not very popular.
✤ Has a browser called ‘MicroB’ that C
uses Gecko.
✤ Mostly interesting as Fennec is
capable of running on it.
✤ Simulator requires Linux to run -
haven’t figured it out yet.
36. Platform-Independent Browsers
✤ A number of browsers target multiple platforms. Some work directly
with carriers (Opera, Netfront) whereas others provide downloads
(Opera, Fennec).
✤ Opera
✤ Fennec
✤ Netfront
✤ Phonegap (App Platform)
37. Opera Mobile and Opera Mini
✤ Hugely popular mobile browser (especially Mini).
✤ Available on a large number of platforms.
✤ Even ships as the default browser on some.
✤ Opera Mobile and Opera Mini couldn’t be more different.
✤ Mobile is a full-featured browser.
✤ Mini is a glorified bitmap viewer.
✤ Pulls from a proxy, no JS executing on client.
39. Fennec
✤ Codename for Firefox on mobile
devices
✤ Released for Maemo, alpha release
out for Android (watch this!)
A B
✤ Equivalent to the latest releases of
Firefox Simulator is awesome!
40. Netfront
✤ Used on Playstation and N-Gage
✤ Download available for Windows Mobile.
✤ Highly crippled, custom, browser.
✤ Not worth supporting.
C
✤ Compatibility can be a real pain.
41. Phonegap
✤ Not a browser, a way to
develop cross-platform
applications.
✤ Uses WebKit as the rendering
engine.
✤ Use HTML/CSS/JS to
develop deployable apps.
A
✤ Quite popular, easy to
support.
42. Other Browsers
✤ Not worth the time for such small market share.
✤ Ozone (Uses WebKit)
✤ Openwave (Dead)
✤ Bolt (Uses WebKit)
C
✤ JIL (Uses WebKit, Widget Platform)
44. Summary
✤ What do we need to support? Roughly:
✤ Opera 9.5, 10
✤ Internet Explorer 6, 7
✤ Firefox 3.5+
✤ Safari 2, 3, 4
✤ (and Blackberry... weeee...)
✤ Don’t assume it’ll work, download the simulators and test!
45. What Devices to Buy?
✤ For A level:
✤ 1 iPhone 3GS: Latest running 3.x (* Watch for new 4.x iPhone)
✤ 1 iPad: Running 3.2
✤ 1 Nokia N97 Running S60v5
✤ 1 Palm Pre: Running 1.4
✤ 2 Android Phones: HTC Magic (1.5/1.6), Droid Incredible (2.1)
(* Watch for new 2.2 Android)
✤ And download the Opera and Fennec Simulators and Phonegap
47. What Devices to Buy?
✤ For B level (in addition to A level):
✤ 1 1st Gen iPhone: Running 2.x
✤ 1 Nokia N96: Running 3.0v2
✤ 3 Blackberry Devices: Curve 8900 (4.6), 2x Tour 9630 (4.7 and 5.0)
✤ 1 HTC HD2: Running Windows Mobile 6.5
48. B -Grade Costs
✤ $315 - 1st Gen iPhone
✤ $360 - Nokia N96
✤ $310 - Curve 8900
✤ $350 x 2 - Tour 9630
✤ $600 - HTC HD2
✤ Total: $2285
✤
A -Grade + B -Grade: $4854
49. More Information
✤ Coming Soon at:
✤ http://jquerymobile.com/
✤ See also:
✤ http://testswarm.com/ and
✤ http://swarm.jquery.org/
✤ And:
✤ http://quirksmode.org/m/