Evothings Studio
Evothings Studio is a set of development tools, designed for development of mobile apps using web technologies. Evothings Studio is specifically designed for development of apps for the Internet of Things.
Evothings Studio consists of:
- Evothings Workbench - Desktop IDE that supports fast turn around development and live editing of apps running on mobile devices.
- Evothings Client - Mobile application for running IoT apps written in HTML/JavaScript. Connect from any number of mobile devices running the Evothings Client to the Workbench and enjoy simultaneous live reload.
- Example Apps - Collection of example apps to get started quickly and get inspiration for making IoT apps.
- Native Plugins - Plugins implemented in the Cordova framework that provide native IoT functionality from JavaScript.
- Universal Editor/IDE support - Use any text editor or programming IDE to code with instant-reload-on-save. Also works with graphics editors. Just press save to reload changes on connected mobile devices.
With Evothings Workbench you can take advantage of HTML5 technologies and JavaScript to develop mobile web apps and hybrid apps - with very fast turn-around time. Use any text editor or graphical editor to author HTML, CSS and JavaScript. Every time you save, the app is instantly reloaded, and you can directly see the result. This also works with image editors.
The Evothings mobile app is a native application that you run on your mobile devices. It connects to Evothings Studio to enable live editing of your HTML/CSS/JavaScript code. The app contains native functionality that is accessible from JavaScript, such as Bluetooth Low Energy.
Screenshots
Getting Started
Very quick version:
- Download and run the Evothings Workbench application on your computer.
- Install and run the Evothings Client app on your mobile device.
- Connect from Evothings Client to the Workbench.
- Click the "Run" button of the "Hello World" example.
Slightly longer version:
- Download and run the Evothings Workbench application on your computer.
- Download and install the Evothings Client app on your mobile device.
- Launch the app and select "Scan". Select your computer running Evothings Workbench from the list.
- Alternatively, enter the URL shown in the bottom panel of the Workbench and click "Connect".
- The app should now connect to Evothings Studio and display the message "Connected".
- Click the "Run" button of one of the apps in Evothings Workbench. Does the mobile display the app you selected? If so, you are up and running!
- You can connect any number of mobile devices, and instantly see the result on each of them!
- Mobile devices must be on the same local WiFi network as the computer running Evothings Workbench to be able connect using the "Scan" method. If your computer has a public IP address, you can connect devices from anywhere on the Internet!
Deploying Your Apps
To deploy your final app developed with Evothings Studio on an app store, you build your app with Apache Cordova. Read more in the guide How To Build Native Apps.
The quickest and easiest way to share your app with others, is putting your app on a web server, asking your users to download Evothings Client and enter the URL to your app. Find out the details in the guide Share Your App.
Release Notes
Evothings Studio 1.1.0
Find all downloads for this version of Evothings Studio at: evothings.com/download
Evothings Workbench:
- Supported platforms for Evothings Workbench are OS X, Windows and Linux.
- Evothings Workbench has support for network switching (automatic detection of network switching). However, you will need to reconnect from Evothings Client after a network switch.
- Update of node-webkit to version 0.11.2
- Evothings Workbench now comes in 32- and 64-bit versions for Windows.
- Evothings Workbench supports 64-bit versions of OS X (32-bit Mac computers are currently not supported, but can be added if needed, contact us for further information).
- Updated documentation, including new example apps.
Evothings Client:
- Supported platforms for the Evothings Client app are Android and iOS.
- Plugin for Estimote Beacons has been added. Special credits to Konrad Dzwinel who is the original creator of this plugin.
- Local notification plugin added (can be used for background notifications).
Example apps:
- New example app for Estimote Beacons.
- Two new example apps for RedBearLabs.
- New example app for LightBlue Bean.
- New example app for Nordic Eval Kit.
- New example app for RFduino.
- New example app for DFRobot Bluno.
- Updated TISensorTag example apps.
- Updated iBeacon Scan app to use the new API of the Cordova iBeacon plugin.
- In BLE Scan, display of device.address has been removed on iOS, this is a UUID that can be mistaken for an iBeacon UUID (which it is not, it is just a temporary UUID assigned by iOS).
Libraries:
- Updated TISensorTag library (support for accessing firmware version, calculation of sensor values etc).
- New library file evothings.js, which must be included in all apps that use Evothings library functions. Supports asynchronous loading of JavaScript libraries, using the evothings.loadScript function. Use function evothings.scriptsLoaded(doneCallback) to ensure all script have been loaded, or pass a callback to evothings.loadScript to know when a single script has loaded. These callbacks take no parameters.
- New JavaScript library evothings.util with support for number conversions etc.
- The cordova-ble plugin has support for accessing advertisement data using the easyble.js library.
- easyble.js asynchronously loads util.js. To be safe, use evothings.scriptsLoaded(doneCallback) to ensure all scripts are loaded before using functions in easyble.js. Example TI SensorTag Sensors uses this method, see code at the end of index.html.
Evothings Studio 1.0.0
- Supported platforms for Evothings Workbench are OS X, Windows and Linux.
- Supported platforms for the Evothings Client app are Android and iOS.
- The Evothings Client app has improved iBeacon support with enhanced performance and stability during application reload, and an updated TCP/UDP socket plugin.
- Evothings Client for Android now has full support for evothings: URLs.
- There is a new example app for the Texas Instruments SensorTag.
- Several bugfixes have been made. The BLE Scan example has been updated to work stable on Android.
- GitHub source code repositories have been renamed for consistency.
- JavaScript library files and UI files used in example apps have been renamed for consistency.
- If you use the evothings-examples source code repository, it should be mentioned that library files and UI files are found in folder resources. Use Ruby script build.rb to copy library files to examples. In the downloaded version of Evothings Studio examples are already pre-built.
- Two new examples, Nordic BLE and RFduinio BLE, are found in the examples folder (but are not included in the Workbench window). To run these examples, drag the index.html files to the Workbench window and click RUN. These examples are currently not included in the documentation.
- Find all downloads for this version of Evothings Studio at: evothings.com/download
Evothings Studio 0.8.0 Beta
- Supported platforms for Evothings Workbench are OS X, Windows and Linux.
- Supported platforms for the Evothings Client app are Android and iOS.
- Evothings Client now supports sharing of apps by hosting them on a web server. Furthermore, you can use evothings: URLs to make it easy for people to launch your apps by selecting a link on a web site or in an email. Read more on the page Share Your App.
- The Evothings Client app features new native plugins for iBeacons (iOS, Android) and serial Bluetooth (Android), and updated Bluetooth Low Energy (BLE) plugin.
- Cordova plugins that present potential security risks have been removed from Evothings Client (e.g. file access and contacts). If you need an app with these plugins, you can build your own version of Evothings Client or contact us.
- Documentation is updated with a guide for How To Build Native Apps from your Evothings project using Apache Cordova.
- The Evothings Client app has a new UI.
- There is a new example app for iBeacons.
- The Example apps also have the new UI design, with improved navigability, and a stronger visual identity and clarity.
- Evothings Workbench now displays a notification when a new version of Evothings Studio is available.
- Find all downloads for this version of Evothings Studio at: evothings.com/download
Evothings Studio 0.7.3 Beta
- Supported platforms for Evothings Workbench are OS X, Windows and Linux.
- Supported platforms for the Evothings client app are Android and iOS.
- This version of Evothings Studio features updated examples, bug fixes, improved BLE support in the Evothings Client app on Android and iOS.
- Positions of the Workbench Project window (the main window) and the Tools window are now saved between sessions. The Tools window has improved scrolling of the log panel, and a button to switch auto scroll on and off.
- Find all downloads for this version of Evothings Studio at: evothings.com/download
Evothings Studio 0.7.0 Beta
- Supported platforms for Evothings Workbench are OS X, Windows and Linux.
- Supported platforms for the Evothings client app are Android and iOS.
- This version introduces support for Bluetooth Low Energy (BLE) on iOS, available in the iOS Evothings Client app. Please note that BLE on Android is not always stable. Unfortunately this affects Evothings Workbench in that it may not work to reload apps that use BLE. A workaround is to restart the Evothings client app if BLE should stop working. On iOS reloading BLE app usually works fine. It is however important to close connected devices before the page reloads. Please see the example programs for ways to accomplish this.
Evothings Studio 0.6.0 Beta
- Supported platforms for Evothings Workbench are OS X, Windows and Linux.
- Supported platform for the Evothings client app is Android (iOS will follow in a forthcoming release).
- Bluetooth Low Energy (BLE) is implemented in the Evothings client app, but please note that BLE on Android is not always stable. Unfortunately this affects Evothings Workbench in that it may not work to reload apps that use BLE. A workaround is to restart the Evothings client app if BLE should stop working.
Good To Know
For apps that do not require native device functionality, any modern browser (desktop or mobile) can be used as a client with Evothings Workbench. When connecting using a browser, use the URL displayed in the bottom panel of the Workbench window (don't omit the port number).
You are encouraged to explore the "Tools" window tab in the Workbench. This window displays output from the hyper.log() function, and lets you evaluate JavaScript code interactively on connected devices. This is very useful for debugging purposes, for trying out code snippets and inspecting the value of variables.
Evothings Workbench contains a Feedback button, please let us know what you think.
Bugs and feature requests can be reported using the GitHub issue tracker, see links to repositories below under the "Source Code" section.
Source Code
The source code for Evothings Studio is available on GitHub under the Apache License:
Evothings Studio is based on HyperReload:
github.com/divineprog/HyperReload
About Us
The team behind Evothings is a seasoned group of entrepreneurs, developers and experts at connecting mobile devices to other things. We have a simple passion that we want to improve, refurbish, evolve and augment buildings, vehicles, appliances, industrial applications, gadgets and/or other electronic things – to make them smarter and more connected. Visit us at: evothings.com