Wednesday, March 8, 2017

Tesla Model 3 - Dashboard Concept

Will 2017 be the year of Tesla Model 3? At last years Telsa Model 3 introduction event Elon Musk stated that first Model 3 will be shipped to customers by the end of 2017. Latest news show that currently production lines are set up and first Model 3 shall be produced by July 2017 and delivered mainly to employees as beta tester. For this reason it is very likely that we will see some Model 3 on Californias roads by mid of this year. Some expert expect the total production of cars for 2017 to 30000 up tp 50000 cars, where high production rates will be reached not before 2018.

The design of the Model 3 is well known since the introduction event back in March 2016, and it is expected that the outside will not change much. But there are some roumors that there will be quite some changes on the interior of the car especially the dashbord.

Recently I came across a new dashboard study. Have a look here.


Tesla Model 3 Future Windshield HUD User Interface Introduction


Friday, January 27, 2017

Hardware designed by users

Eve V is the second device by the Eve Tech Finland, a group of end users, who develop their own hardware. After their first product, the Eve T1 tablet, the team was still unsatisfied with most devices out there. In the end over 1000 people contributed and collaborated online to craft a device called Eve V. The device is similar to Microsofts Surface Book 4, with and affordable starting price of 1399 USD.

Some of the main features include:

  • IGZO display 2737 x 1824 pixel resolution
  • Thunderbold 3 connectivity
  • 12 hours battery life
  • 7th generation Intel Core CPUs
  • Detachable Keyboard
  • Windows 10
  • up to 16 GB of RAM
  • up to 512 GB SSD
The shipping of the device will start in March / April 2017. Currently only limited information is available for daily use and its build quality.

Wouldn't it be nice if this group will design and craft a full notebook / surface book / lenovo yoga like device? It would be great to have a real competitor of the Lenovo Thinkpad X1 Carbon at some time.

You can find more information on their website: http://eve-tech.com

Monday, January 9, 2017

Mapping solutions enables their users to find their way easily, using mobile, website or kiosk.

Wayfinding solutions support our daily lives in finding our way and optimizing our time. We use them naturally to find the fastest, shortest or optimized route to our desired destination. In many cases it is still connected to outdoor routing like car navigation, hiking, or biking. In addition since several years we face a trend that more and more people move to cities (more than 50% of world population life in cities; mega-cities are growing) also man-made structures and buildings become more and more complex sometime giant. Those buildings include shopping-malls, airports, hospitals, universities, large office structures or government buildings.


Navigation within indoor constructions become challenging for people even if they are familiar to those building. There is an increasing need for solutions that enable fast and easy indoor navigation. Modern Indoor solutions have to be intuitive to use and always accessible.

For indoor navigation similar principles are applied as for outdoor navigation. In fact a routable graph is build based on a digital map of the building. Localization is supported by tags (e.g. RFID) or signal strength of mobile communication networks, using of sensors, IPS, NFC, etc.

One solution is offered by Visioglobe, a company which targeted an outdoor market: navigation on roads, ski slopes, hiking paths, golf courses embedded in a PDA and other hardware. From 2011, the company set its sights on the indoor market with a focus on smartphones. Visioglobe today covers some of the world’s largest malls, most prestigious airports, hospitals in the USA and thousands of square meters of office space, where the Visioglobe maps have replaced paper maps. Other companies offer similar solutions for the increasing indoor wayfinding problem.

Key for indoor wayfinding solutions is accessibility for users. It shall be available on mobile devices, internet, kiosks, info points. The implementation on all of these platforms has to be consistent but adapted for their specific use cases. 

You can find more general information about indoor navigation on the following wiki: http://www.indoornavigation.com/

Some interesting questions answered there:
  • Indoor GPS: How does navigation work without GPS?
  • What does a good indoor navigation system look like?
  • Indoor navigation using Augmented Reality apps
Related topics are: Location Augmentations, IPS, Augmented Reality, Mobile Mapping

Tuesday, October 7, 2014

Nexus 6: Android Flagship of 2014 in detail

Latest news about the new Google Nexus 6 talk about Motorolas Turbo-Charging Mode and QHD display with 5.9 inch.

Rumors collected during the last few weeks now form a pretty clear image about the specification of the latest smartphone branded as Nexus. According to its name Nexus 6 the phone will have a 5,9 inch screen. This QHD screen (2.560 x 1.440 pixel) covers the majority of the front design.

Monday, August 25, 2014

App Script Form to add a Calender Event

Google App Script allows you to automate work flows and create Add-ons with Google Sheets, Docs and Forms. It is also possible to integrate external Google Apps.

One example is to create a Google Calender Entry or Event with an App Script. The following code snipped gives you the idea how it works:

The function doget() is responsible to define the form to enter data needed to create the event. It defines the clickhandler of the submit button.

 function doGet() {  
  var app = UiApp.createApplication();  
  var form = app.createFormPanel();  
  var grid = app.createGrid(5, 3).setId('gridForm');  
  var eventTitle= app.createTextBox().setName("eventTitle").setTitle("Event Title");  
  var descr= app.createTextBox().setName("descr").setTitle("Description");  
  var lbFromDate = app.createDateBox().setName("lbFromDate").setFormat(UiApp.DateTimeFormat.DATE_TIME_SHORT).setTitle("From");  
  var lbToDate = app.createDateBox().setName("lbToDate").setFormat(UiApp.DateTimeFormat.DATE_TIME_SHORT).setTitle("To");  
  var btnSubmit = app.createButton("Create");  
  var titleRequired= app.createLabel("*").setId('titleRequired');  
  var lblFromDateRequired = app.createLabel("*").setId('lblFromDateRequired');  
  var lblToDateRequired = app.createLabel("*").setId('lblToDateRequired');  
  grid.setWidget(0, 0, app.createLabel("Titel"));  
  grid.setWidget(1, 0, app.createLabel("Description"));  
  grid.setWidget(2, 0, app.createLabel("Von"));  
  grid.setWidget(3, 0, app.createLabel("Bis"));  
  grid.setWidget(0, 1, eventTitle);  
  grid.setWidget(1, 1, descr);  
  grid.setWidget(2, 1, lbFromDate);  
  grid.setWidget(3, 1, lbToDate);  
  grid.setWidget(4, 1, btnSubmit);  
  grid.setWidget(0, 2, titleRequired);  
  grid.setWidget(2, 2, lblFromDateRequired);  
  grid.setWidget(3, 2, lblToDateRequired);  
  form.add(grid);  
  app.add(form);  
  //Controles and click handler  
  var submitHandler = app.createServerClickHandler('validateAndCreate');  
  submitHandler.addCallbackElement(eventTitle)  
   .addCallbackElement(descr)  
   .addCallbackElement(lbFromDate)  
   .addCallbackElement(lbToDate);  
  btnSubmit.addClickHandler(submitHandler);  
   return app;  
  }  

By pressing the submit button the function validateAndCreate will be executed. This function implements a simple check of the input data an creates the Google Calender Event within the given Calendar (defined by the Calendar ID).

  function validateAndCreate(eventInfo) {  
   var app = UiApp.getActiveApplication();  
   var flag = 0;  
   var currentTimestamp = new Date();  
   app.getElementById('eventTitle').setText("*");  
   app.getElementById('lblFromDateRequired').setText("*");  
   app.getElementById('lblToDateRequired').setText("*");  
   if (eventInfo.parameter.eventTitle== ''){app.getElementById('titleRequired').setText("* Title Required").setStyleAttribute("color", "#F00");flag = 1;}  
   if (eventInfo.parameter.lbToDate < eventInfo.parameter.lbFromDate){app.getElementById('lblToDateRequired').setText("* To Date must be later than From Date").setStyleAttribute("color", "#F00");flag = 1;}  
   if (eventInfo.parameter.lbFromDate == ''){app.getElementById('lblFromDateRequired').setText("* From Date required").setStyleAttribute("color", "#F00");flag = 1;}  
   if (eventInfo.parameter.lbToDate == ''){app.getElementById('lblToDateRequired').setText("* To date required").setStyleAttribute("color", "#F00");flag = 1;}  
   if (flag == 0){  
    var calendarId = "PUT_IN_HERE_YOUR_CALENDERID";  
    var startDt = eventInfo.parameter.lbFromDate;  
    var endDt = eventInfo.parameter.lbToDate;  
    var desc = eventInfo.parameter.desc + " created: " + currentTimestamp;  
    var title = eventInfo.parameter.eventTitle;  
    //Run the Crete event Function  
    createEvent(calendarId,title,startDt,endDt,desc);  
    app.getElementById('gridForm').setVisible(false);  
    app.add(app.createLabel("Event Created.");  
   }  
   return app;  
  }  
 function createEvent(calendarId,title,startDt,endDt,desc) {  
  var cal = CalendarApp.getCalendarById(calendarId);  
  var start = new Date(startDt);  
  var end = new Date(endDt);  
 //Manually set the Location, this can be modified to be dynamic by modifying the code if need be  
  var loc = 'YOUR LOCATION';  
 //Set the Options, in this case we are only using Description and Location, as we do not need Guests or sendInvites  
  var event = cal.createEvent(title, start, end, {  
    description : desc,  
    location : loc  
  });  
 }  

Then you can embed the App Script within your Google Sites page to visualize the form.