This document provides an introduction and overview of building mobile applications using Appcelerator Titanium. It discusses key aspects of Titanium like abstraction layers, supported programming languages, UI structures, and APIs for common mobile tasks. Titanium allows developing apps using JavaScript that can be deployed to platforms like iOS and Android, simplifying cross-platform development. The document demonstrates Titanium's capabilities and encourages exploring further documentation and open source resources.
My presentation from the PHP Matsuri 2011 conference. This presentation discusses the changes in CakePHP 2.0 and goes into more detail on some of the cooler features that PHP 5 allows us, and some of the internal restructuring.
Building Desktop RIAs with JavaScript and PHP - ZendCon09funkatron
Web runtimes like Adobe AIR, Titanium and webOS open up interesting possibilities for web developers, allowing them to leverage their existing skills to develop desktop applications. Aimed at current PHP developers, this talk will focus on common web application technologies - PHP, HTML, Javascript - and explore how to utilize them to create desktop "Rich Internet Applications."
My presentation from the PHP Matsuri 2011 conference. This presentation discusses the changes in CakePHP 2.0 and goes into more detail on some of the cooler features that PHP 5 allows us, and some of the internal restructuring.
Building Desktop RIAs with JavaScript and PHP - ZendCon09funkatron
Web runtimes like Adobe AIR, Titanium and webOS open up interesting possibilities for web developers, allowing them to leverage their existing skills to develop desktop applications. Aimed at current PHP developers, this talk will focus on common web application technologies - PHP, HTML, Javascript - and explore how to utilize them to create desktop "Rich Internet Applications."
The Web is a vital part of our daily lives, and as we begin using the Web for tasks traditionally performed on the desktop, such as word processing, software as a service (SaaS) and software + services models are becoming more important. Web developers are caught in the cross hairs of these merging industries. They have the know-how of web development but, often, none of the skills for traditional desktop or mobile development.
Enter Titanium. Appcelerator Titanium is an open source platform for developing native desktop and mobile applications using the web technologies you're already familiar with. Now, web developers can use their skills to develop for both the Web and desktop/mobile platforms. Ben Ramsey will demonstrate how to create a simple application in Titanium Desktop, showing examples using JavaScript and PHP working together in the Titanium run time environment to power dynamic desktop applications that communicate easily with external web services.
Zend con 2016 bdd with behat for beginnersAdam Englander
Learn the basics of behavioral driven development (BDD) with Behat to build high quality and well documented applications. You'll learn how BDD can help you deliver greater business value more efficiently while accurately documenting the functionality of your application along the way. You'll learn how to utilize Behat as your BDD tool. With Behat, you'll create tests for the features in your application by utilizing a natural language syntax called Gherkin backed by PHP code to execute the steps executed in the feature's scenarios.
This will be a hands-on tutorial. You'll learn how to implement BDD for a web application. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and hosted integration services utilizing Selenium.
Rambling Talk given at http://2012.oc.wordcamp.org/
Supplemental information at http://mdawaffe.wordpress.com/2012/06/02/wordcamp-oc-restjson-api-talk/
Php Dependency Management with Composer ZendCon 2016Clark Everetts
A deep-dive for beginners into Composer, the dependency manager for PHP. Learn how Composer helps you obtain the components your applications depend upon, installs them into your project, and controls their update to newer versions.
My 6th. revision of my Stackato presentation given at the German Perl Workshop 2013 in Berlin, Germany,
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
Fine-tuning your development environment means more than just getting your editor set up just so -- it means finding and setting up a variety of tools to take care of the mundane housekeeping chores that you have to do -- so you have more time to program, of course! I'll share the benefits of a number of yak shaving expeditions, including using App::GitGot to batch manage _all_ your git repos, App::MiseEnPlace to automate getting things _just_ so in your working environment, and a few others as time allows.
Delivered at OpenWest 2016, 13 July 2016
My presentation at OSDC 2010 in Melbourne Australia, for the roadmap of CakePHP and the changes that have occurred as part of the CakePHP 2.0 development process.
The Web is a vital part of our daily lives, and as we begin using the Web for tasks traditionally performed on the desktop, such as word processing, software as a service (SaaS) and software + services models are becoming more important. Web developers are caught in the cross hairs of these merging industries. They have the know-how of web development but, often, none of the skills for traditional desktop or mobile development.
Enter Titanium. Appcelerator Titanium is an open source platform for developing native desktop and mobile applications using the web technologies you're already familiar with. Now, web developers can use their skills to develop for both the Web and desktop/mobile platforms. Ben Ramsey will demonstrate how to create a simple application in Titanium Desktop, showing examples using JavaScript and PHP working together in the Titanium run time environment to power dynamic desktop applications that communicate easily with external web services.
Zend con 2016 bdd with behat for beginnersAdam Englander
Learn the basics of behavioral driven development (BDD) with Behat to build high quality and well documented applications. You'll learn how BDD can help you deliver greater business value more efficiently while accurately documenting the functionality of your application along the way. You'll learn how to utilize Behat as your BDD tool. With Behat, you'll create tests for the features in your application by utilizing a natural language syntax called Gherkin backed by PHP code to execute the steps executed in the feature's scenarios.
This will be a hands-on tutorial. You'll learn how to implement BDD for a web application. This will include utilizing Selenium WebDriver for real world multi-browser testing including introductions to Selenium Grid and hosted integration services utilizing Selenium.
Rambling Talk given at http://2012.oc.wordcamp.org/
Supplemental information at http://mdawaffe.wordpress.com/2012/06/02/wordcamp-oc-restjson-api-talk/
Php Dependency Management with Composer ZendCon 2016Clark Everetts
A deep-dive for beginners into Composer, the dependency manager for PHP. Learn how Composer helps you obtain the components your applications depend upon, installs them into your project, and controls their update to newer versions.
My 6th. revision of my Stackato presentation given at the German Perl Workshop 2013 in Berlin, Germany,
More information available at: https://logiclab.jira.com/wiki/display/OPEN/Stackato
Fine-tuning your development environment means more than just getting your editor set up just so -- it means finding and setting up a variety of tools to take care of the mundane housekeeping chores that you have to do -- so you have more time to program, of course! I'll share the benefits of a number of yak shaving expeditions, including using App::GitGot to batch manage _all_ your git repos, App::MiseEnPlace to automate getting things _just_ so in your working environment, and a few others as time allows.
Delivered at OpenWest 2016, 13 July 2016
My presentation at OSDC 2010 in Melbourne Australia, for the roadmap of CakePHP and the changes that have occurred as part of the CakePHP 2.0 development process.
A discussion about various techniques and mechanisms for generating revenue in and around open source projects.
This presentation uses the Cake Software Foundation (http://cakefoundation.org) who own the rights to the CakePHP framework (http://cakephp.org) as an example, and how a separate company (Cake Development Corporation http://cakedc.com) works with the Cake Software Foundation, but as a separate entity to generate money, and pay employees to with with and on open source software.
Appcelerator Titanium is a cross-platform development environment where you can build iOS, Android, BlackBerry and Hybrid/HTML5 apps. This talk will discuss how it works, how to get started, code samples and pros/cons from experience.
PhoneGap (aka Cordova) is a cross-platform framework for developing mobile apps using standard web development tools like HTML, CSS, and JavaScript. Join Troy Miles to learn how to create mobile apps with PhoneGap by building a simple but full-featured app during this hands-on class. Troy explores PhoneGap’s important capabilities, including GPS, camera, and audio recordings. Because JavaScript has a reputation as a somewhat difficult language, Troy teaches techniques for keeping your code robust and clean. To give your app the appropriate look and feel for the device on which it is running, the class will use the open source Chocolate Chip UI framework for testing. Troy shares ways to debug the code by running it as a web app, using browser development tools, or as a phone app, using the Chrome browser’s remote debugging features. Leave with the basics you need to start building your own cross-platform mobile apps.
JQuery Mobile vs Appcelerator Titanium vs Sencha TouchSteve Drucker
During this briefing for developers and I.T. managers, you'll get an in-depth review of the three most popular javascript-based mobile application development platforms - jQuery Mobile, Sencha Touch, and Appcelerator Titanium! You'll review the development tools, hear about the developer and debugging experience, and participate in a brief code review in order to determine which framework is the most appropriate for your next mobile project! We'll demonstrate how each framework can be used to develop the same mobile app, highlighting the strengths and weaknesses of each.
Note that the full 2.5 hour video of this presentation is available at http://bit.ly/Y04lDi
MySQL Performance - SydPHP October 2011Graham Weldon
A talk on optimisations around MySQL on the server side, and through the use of PHP extensions to reduce disk writes to provide for more IO access for MySQL. This was presented at SydPHP in October 2011
A talk given to the New York CakePHP usergroup, discussing the specifics of changes within the CakePHP 2.0 feature set, motivations for those changes, and upcoming changes as development continues.
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
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.
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.
UiPath Test Automation using UiPath Test Suite series, part 3DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 3. In this session, we will cover desktop automation along with UI automation.
Topics covered:
UI automation Introduction,
UI automation Sample
Desktop automation flow
Pradeep Chinnala, Senior Consultant Automation Developer @WonderBotz and UiPath MVP
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
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.
"Impact of front-end architecture on development cost", Viktor TurskyiFwdays
I have heard many times that architecture is not important for the front-end. Also, many times I have seen how developers implement features on the front-end just following the standard rules for a framework and think that this is enough to successfully launch the project, and then the project fails. How to prevent this and what approach to choose? I have launched dozens of complex projects and during the talk we will analyze which approaches have worked for me and which have not.
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
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
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
Epistemic Interaction - tuning interfaces to provide information for AI supportAlan Dix
Paper presented at SYNERGY workshop at AVI 2024, Genoa, Italy. 3rd June 2024
https://alandix.com/academic/papers/synergy2024-epistemic/
As machine learning integrates deeper into human-computer interactions, the concept of epistemic interaction emerges, aiming to refine these interactions to enhance system adaptability. This approach encourages minor, intentional adjustments in user behaviour to enrich the data available for system learning. This paper introduces epistemic interaction within the context of human-system communication, illustrating how deliberate interaction design can improve system understanding and adaptation. Through concrete examples, we demonstrate the potential of epistemic interaction to significantly advance human-computer interaction by leveraging intuitive human communication strategies to inform system design and functionality, offering a novel pathway for enriching user-system engagements.
2. Graham Weldon
PHP developer for 11 years
CakePHP core contributor
Open source public speaker
Love developing/teaching
@predominant
http://grahamweldon.com
http://cakedc.com
3. The rise of mobile
Making, distributing and selling mobiles apps can be
a lucrative business
Well designed, available apps are sought after
Users prefer a service or product if it comes with a
mobile counterpart
Mobile
Available
Accessible
Offline
4. Mobile history
PDA’s
Original Netbooks
Symbian (Nokia domination)
iMode (Success in Japan)
WAP
Java ME
Android, iOS, Windows Phone, Meego, and more
5. Building for mobile
Google Android
Java
Apple iOS
Objective C
Windows Phone
.NET platform (C#, primarily)
Blackberry
Java
9. Why use an
abstraction layer?
Simpler maintenance
Only working with business logic and custom code
One codebase, many platforms
Quicker development
Re-use existing knowledge
Less re-training
10. I’m convinced!
What can I use?
NimbleKit (iOS)
Adobe PhoneGap (Web container)
Adobe Flex / Flash
Appcelerator Titanium (Compiled to native)
Corona (Lua)
Rhomobile
Web
jQuery Mobile
Sencha Touch
Custom
14. Wait... Free?
The platform and studio environment cost nothing
You have all the tools you need to build applications
Its also Open Source! http://github.com/appcelerator
Whats the catch?
Appcelerator is a company for profit
Support
Premium modules / extensions
Custom development
15. Take advantage of
existing skills
Web Developers
Use Javascript
Learn and extend their knowledge
Benefit their web skills
Only the Titanium specific calls are different
16. Key advantages
Write once
Deploy everywhere
Cut down on maintenance
Simplify deployment to new platforms
19. How does it work?
Pre-Compiler
Optimise, Analyse code
Find and resolve dependencies
Front End Compiler
Convert to native code
Package in JS engine for other stuff
Platform Compiler
Compiled with native tools
Xcode + iOS SDK, Java + Android SDK
20. What does that mean?
Its optimising your code
Converting what it can to native device code
Anything it can’t gets run through the JS Engine
Makes it super fast
Makes it super portable no matter the code
25. Resources
The resources folder
Holds all the important stuff
Code
Assets
Platform specific whatsits
26. Platforms
Sometimes platforms have
differences
You need to occasionally
provide a different
implementation
Maybe some images for just that
platform
27. iPhone folder
appicon.png
Icon for home screen
*-Landscape.png
Landscape splash image
*-Portrait.png
Portrait splash image
Default.png
Standard resolution
Default@2x.png
Double resolution (iPhone4+)
29. app.js
Code Context
Separate context to keep things
tidy and manageable
‘myVar’ in app.js
Not accessible in win1.js
Use globals sparingly
win1.js
30. But I want global
data, configs, etc..
Define configuration files
Use the Titanium Include
Ti.include(...);
Separate different information
Only include what you need
32. Tabbed Layout
Very common
iOS Examples: Twitter app, Foursquare, Commbank,
Phone
One window per tab
Tab windows can open sub-windows
Naturally they get a “< back” option
Easy to use and understand
No effort required!
33.
34.
35.
36. Doh! Platform differences
iOS has tabs at the bottom
Android has tabs at the top
iOS has a title by default for tabGroups
Android doesn’t have a title for tabGroups
More than likely your creative director wants everything
to look the same on all platforms
Disregarding previous user epxerience on specific
platforms.
46. Ti.Geolocation
Quick and easy Geo
Current Position
forwardGeocoder
Address -> Coords
reverseGeocoder
Coords -> Address
Add/remove listeners
47. Ti.Map
Common interface for all
devices
Simple map integration
Use with information from
Ti.Geolocation
Add custom pins / locations
Switch map types
Satellite / Standard / Hybrid
48. Ti.Analytics
Monitor events
Report on them later
Gather info about behaviour
Improve your application
Challenge users
49. Ti.Contacts
Access the Address Book
Works on all devices
One interface
Integrate contacts
Simplify information sharing
Read only on Android :(
50. Ti.Database
A simple to use database
SQL compliant
Install and update DBs
Store local data
Great for offline storage
Sync later
51. Ti.Filesystem
Read files
Write files
iOS restricted to sandbox
(everyone is...)
Android allows access to
external media
52. Ti.Facebook
Simple Facebook integration
REST API (Deprecated)
Graph API
Login
Store authorization
Simple configuration
Works everywhere
54. Ti.Network
Protocols
TCP
HTTP
Bonjour
Implement any protocol you
like on TCP
Connect your app
Create a server
55. Ti.XML
Easy to use parser
Produce XML too
Makes consuming services easy
Includes things like
rss
atom
oData
56. Yahoo! YQL
My personal favourite
Grab data from anywhere on
the internet
Query using XPATH
Scrape websites (responsibly)
http://developer.yahoo.com/yql/
57. Commercial
Components
There are a heap on the
marketplace
Some are reasonably priced
Great way to get things done
quickly
You can sell your own
components on the marketplace
http://www.appcelerator.com/products/open-mobile-marketplace/
58. Also check
Github
Search repos for ‘Titanium’
Currently 706 results
Components
Full projects
http://goo.gl/R69Ck
60. JSS: CSS style rules
Not much information about it
But very easy to use
app.js
app.jss
Set almost any property
Always clean before running your app!