In touch with geometry!

News from sketchometry

Software

sketchometry 1.2.7

Version 1.2.7 is available!

sketchometry

The most notable new feature in version 1.2.7 are symbolic derivatives for function plots. For example, the input

D(x^3, x)

will plot the function graph of f(x) = 3*x^2 - as expected.

Further, this release fixes some bugs. For instance, checkboxes in the properties dialog should work now as expected.

Enjoy sketchometry!

The sketchometry-Team

CHANGELOG

Most important changes:

  • Function plotting: enable symbolic derivatives via D(function term)
  • Set midpoint and intersection coordinates to readonly
  • Remove = for point measurements
  • Much improved pinch-to-zoom and pan (delegated JSXGraph)
  • Bug fix: checkbox handling in properties dialog (e.g. trace)
  • Bug fix: select function term in function plot dialog
  • Bug fix: simplified math input
  • Bug fix: help window opens in browser - not in app
  • Disable anti-derivatives in function plot dialog (for the moment)
  • Disable handwriting recognition in function plot dialog

 

Software

sketchometry 1.2.5

Version 1.2.5 available!

sketchometry

Version 1.2.5 comes with the new languages Russian and Kazakh. It improves the input of mathematical expressions for point coordinates and circle radius. This opens many possibilities for advanced constructions which will be highlighted in a further blog post. Zooming by mouse wheel is enabled again, as well as individual scaling of axes.

Enjoy sketchometry!

The sketchometry-Team

CHANGELOG

Most important changes:

  • New languages: Russian and Kazakh
  • Improved input of expressions for point coordinates and circle radius
  • Bug fix: use of slider names in expressions
  • Use https connection for help
  • Enable individual scaling of axes (again)
  • Enable zooming by shift + mouse wheel

 

Software

sketchometry 1.2.4

Version 1.2.4 available!

sketchometry

Version 1.2.4 comes with the new languages Czech, Norsk, Suomi, and Traditional Chinese. It improves stroke recognition, zooming and audio support. Further, the user interface has been slightly simplified. The most important bug fixes are: cloud support and check boxes in the property dialog.

Enjoy sketchometry!

The sketchometry-Team

CHANGELOG

Most important changes:

  • New languages: Czech, Norsk, Suomi, Traditional Chinese
  • Improved stroke recognition
  • Bug fix: audio
  • Bug fix: check boxes in property dialog
  • Bug fix: cloud support
  • Bug fix: orientation change of device
  • Use click sound on variuos buttons
  • Improved audio support
  • Improved zooming
  • Exit property dialog after clearing traces
  • Allow floating point values as interval borders.
  • Interval borders may be changed later on now
  • Restructured property dialog
  • Remove property “axis scale”

 

Software

sketchometry 1.2.2

Version 1.2.2 available!

sketchometry

The main improvement against version 1.2.1 is that languages are now handled correctly: If there is no translation available, sketchometry falls back to English instead of Chinese (sic).

Moreover, Chinesisch, Japanese, Serbian and Slovenian are recognized now correctly.

The online version and the chrome app are available. Android, iOS and firefoxOS will follow soon.

Enjoy sketchometry!

The sketchometry-Team

 

Info

Windows 8.1 App

Windows 8.1+ app available

sketchometry

sketchometry is now also available as app for Windows 8.1+ in the Microsoft Windows store.

Enjoy, the sketchometry team

 

Info

Embed sketchometry

Starting with version 1.2.0 it is possible to embed sketchometry in web pages like learning management systems or content management systems. The preferred way to do this is to use an iframe and control sketchometry from the hosting web site with postMessage.

Send messages to sketchometry

Let’s suppose that sketchometry is embedded in the web page in an iframe with id sketchometry. Then, the hosting web page is communicating with the sub-object contentWindow of the iframe’s DOM node:

1 var skm = document.getElementById("sketchometry").contentWindow;
2     skm.postMessage({'code': 'init'}, URL);

the variable URL contains the URL where sketchometry is loaded from. Here, one can use either https://embed.sketchometry.org or download the zip file containing sketchometry and put it on a dedicated web server.

Receive messages from sketchometry

The only situation where sketchometry sends a message back to the hosting web page is after a save message. Before the hosting web site can receive postMessages from an iframe an eventhandler for the event message has to be customized. Examples:

 1 var receiveMessage = function(evt) {
 2     var content;
 3 
 4     if (evt.origin !== "https://embed.sketchometry.org") {
 5         console.log("REJECT", evt.origin)
 6         return;
 7     }
 8 
 9     if (evt.data.code === 'save') {
10         content = evt.data.data;
11 
12         // Write construction contained in content to database
13         console.log("RECEIVED", content);
14     }
15 };
16 
17 window.addEventListener("message", receiveMessage, false);

But first, the saving of a construction has to be triggered by a save message:

1 skm.postMessage({'code': 'save'}, URL);

Possible messages

  • {'code': 'init'}: Prepare embedded version of sketchometry
  • {'code': 'load', 'data': construction string}: Load base64 encoded sketch string
  • {'code': 'new', 'name': 'construction name'}: Open new construction
  • {'code': 'save'}: get the actual construction as base64 encoded sketch string. sketchometry will send a postMessage to the hosting web page of the form {‘code’: ‘save’, ‘data’: content}
  • {'code': 'set', 'data': {settingId': 'key', 'value': val}}: Change settings, see settings.js.
    • Examples are: {'code': 'set', 'data': {'settingId': 'language', 'value': 'de'}
  • {'code': 'clear'}: Removes all constructions from local storage.

Example

Here is an example of a hosting web page which enables the control of sketchometry by buttons:

 1 <html>
 2 <head><title>embed sketchometry</title></head>
 3 <script type="text/javascript">
 4 
 5 var URL = 'https://embed.sketchometry.org';
 6 
 7 var init = function() {
 8     var skm = document.getElementById("sketchometry").contentWindow;
 9     skm.postMessage({'code': 'init'}, URL);
10 };
11 
12 var showCircle = function() {
13     var construction = "UEsDBAoAAAAIAKKSs ... AAALQIAAAAA";
14 
15     var skm = document.getElementById("sketchometry").contentWindow;
16     skm.postMessage({'code': 'load',
17                      'data': construction},
18         URL);
19 };
20 
21 var newConstruction = function() {
22     var skm = document.getElementById("sketchometry").contentWindow;
23     skm.postMessage({'code': 'new', 'name': 'new file'}, URL);
24 };
25 
26 var save = function() {
27     var skm = document.getElementById("sketchometry").contentWindow;
28     skm.postMessage({'code': 'save'}, URL);
29 };
30 
31 var setLang = function(lang) {
32     var skm = document.getElementById("sketchometry").contentWindow;
33     skm.postMessage({'code': 'set',
34                      'data': {'settingId': 'language', 'value': lang}
35                     }, URL);
36 };
37 
38 var clearAll = function() {
39     var skm = document.getElementById("sketchometry").contentWindow;
40     skm.postMessage({'code': 'clear'}, URL);
41 };
42 
43 var receiveMessage = function(evt) {
44     var content;
45 
46     if (evt.origin !== "https://embed.sketchometry.org") {
47         console.log("REJECT", evt.origin)
48         return;
49     }
50 
51     if (evt.data.code === 'save') {
52         content = evt.data.data;
53 
54         // Write construction contained in content to database
55         console.log("RECEIVED", content);
56     }
57 };
58 
59 window.addEventListener("message", receiveMessage, false);
60 
61 </script>
62 <body>
63 <h1>This is a web page containing sketchometry</h1>
64 <iframe id="sketchometry" width="800" height="600"
65     src="https://embed.sketchometry.org/index.html"
66     onLoad="init();"></iframe>
67 <p>
68 <button onClick="showCircle();">Load construction</button>
69 <button onClick="newConstruction();">New construction</button>
70 <button onClick="save();">Save construction</button>
71 <button onClick="setLang('de');">Choose language "Deutsch"</button>
72 <button onClick="setLang('en');">Choose language "English"</button>
73 <button onClick="clearAll();">Clear gallery</button>
74 </p>
75 </body>
76 </html>

The live demo of this example is at https://embed.sketchometry.org/iframe.html.

Enjoy, Alfred

 

Software

sketchometry 1.2.0

Today we released sketchometry version 1.2.0, which brings some new features and important bug fixes.

sketchometry

New features

  • Enable embedding of sketchometry in web pages as iframe. This will be explained in a separate blog post, see /news/2015/06/10/embed/index.html
  • Angles in triangles are by default inner angles (non-reflex angles)
  • Faster access to board properties (via button properties) in a dedicated toolbar
  • Introduction of a fourth mode: if drag mode and construction mode are both off, a hand symbol is shown which can be dragged around. This is a useful feature when showing and explaining a construction in class room via Apple TV or Chromecast.

Bug fixes and improvements

  • sketchometry can be used now with Chrome or Firefox on touch device running with Windows.
  • sketchometry runs in Midori
  • Better zooming behaviour
  • Saving and loading of constructions works across different window sizes
  • Cloud support of Android app
  • Reduce size of sketchometry app by factor two
  • Prevent the construction of points when dragging sliders

As always, version 1.2.0 is already available on https://sketchometry.org and on Chrome Web Store. The other app versions (iOS, Android, firefox OS) will follow soon.

Enjoy, the sketchometry team

 

Software

sketchometry 1.1.9

Today we released sketchometry version 1.1.9.

The most notable improvements are:

  • When measuring a preview of the measurement result is displayed in the toolbar.
  • Melting points is much more versatile and stable
  • Better support for RTL languages
  • In all app versions cloud support was broken in 1.1.8. This has been fixed.

At the time being, version 1.1.9 is available on https://sketchometry.org and on Chrome Web Store. The other app versions (iOS, Android, firefox OS) will follow soon.

Enjoy, Alfred

 

Software

sketchometry 1.1.8

Today we released sketchometry version 1.1.8.

The most notable new features are:

  • Support of shortened math syntax for plots and texts. That means, a term of the form 3x (instead of 3*x) is accepted.
  • Export / import of constructions via file menu (except on iOS devices).
  • For administrators who use sketchometry on their own web servers: In the main folder there is now a global configuration file config.js. In this file it can be controlled which cloud services are available to the users. More options may follow.
  • Beginning support for vectors: a vector can be constructed by drawing an arrow without touching existing points.
  • Beginning support for RTL languages (not yet working).

Release 1.1.8 fixes some annoying bugs:

  • sketchometry crashed when a largely zoomed construction was reopened
  • ruler of length zero resulted in a crash
  • it was not possible to use ‘ and “ are in texts

At the time being, version 1.1.8 is available on https://sketchometry.org and on Chrome Web Store. The other app versions (iOS, Android, firefox OS) will follow soon.

Enjoy, Alfred

 

Software

sketchometry 1.1.7

Today we released sketchometry version 1.1.7.

This release fixes two critical bugs of version 1.1.6:

  • 1.1.6 crashes immediately on Android 5.0.
  • 1.1.6 crashes when creating a new construction on the iPad app and certain screen resolutions.

We advise you, NOT to upgrade to 1.1.6 on iOS devices and wait for the release of v1.1.7 on Apple store.

Enjoy, Alfred

 

Software

sketchometry 1.1.6

Today we released sketchometry version 1.1.6. This release fixes some bugs and contains a language update. Android app and iOS app will be available in a few days.

Enjoy, Alfred

 

Software

sketchometry 1.1.5

Today we released version 1.1.5. In this version plotting of function graphs is improved and much faster.

Apps for iOS, Androidare already available, the firefoxOS app will be published in a few days.

Enjoy, Alfred

 

Software

sketchometry 1.1.4

Today we released version 1.1.4. It fixes a severe problem with version 1.1.3 on iOS 7. Some minor issues were fixed, too.

As usual, the apps for iOS, Android and firefoxOS will be published in a few days.

Enjoy, Alfred

 

Software

sketchometry apk file

Since version 1.1.3 the sketchometry apk file is available for download. You can use it to run sketchometry on Blackberry or other compatible devices.

Enjoy, Alfred

 

Software

sketchometry 1.1.3

Last week we released sketchometry version 1.1.3 in all versions: web page, iOS app, Android app and FirefoxOS app. The iOS app has been approved by Apple now and is available for updating.

This release fixes two annoying bugs on iOS: in iOS7 sketchometry crashed when the touch keyboard was used, in iOS 8 the status bar covered sketchometry.

The most notable new feature that has been introduced in this release is that texts are now editable in the property dialog.

Languages: sketchometry has new volunteers to translate the user interface. The new languages are Japanese, Russian, Serbian and Ukrainian. Some translations are not be complete yet, but already now, many thanks go to the translators for their excellent work!

One word about the version numbering: We went from 1.0.1 directly to 1.1.2 and now to 1.1.3 to synchronise the version numbers on all platforms.

Enjoy, Alfred