Posts

Developing Garmin SmartWatch Apps with ConnectIQ Platform-Part 2

Image
This is part 2 of blog series that covers a tutorial on developing Wearables App for Garmin SmartWatches. In this part of the tutorial we will write the logic to display Meeting Alerts in the watch widget that we created in part-1 of this tutorial. Lets create a Monkey-C class called MeetingAlert.mc in the CalendarAlerts ConnectIQ Eclipse Project. MeetingAlert class will represent a single MeetingAlert record that we will receive from the Android Device over BLE. using Toybox.System as Sys; class MeetingAlert { //mTime - meeting time //mDate - meeting date //mSubject - meeting subject //mLocation -meeting location hidden var mTime, mDate, mSubject, mLocation; function getMeetingTime() { return mTime; } function getMeetingDate() { return mDate; } function getMeetingSubject() { return mSubject; } function getMeetingLocation() { return mLocation; } } We can assume that the calendar event details are received from Android Device whenever t...

Developing Garmin SmartWatch Apps with ConnectIQ Platform-Part 1

Image
Recently I was involved in developing apps for Gramin Wearables . Being new to the wearables world I found it relatively easier to develop apps for Garmin Wearables then what I had thought earlier. Hence I would like to share my experience via this blog series. I will take you through the step by step process of developing a simple watch widget that synchronizes with an Android phone's Google Calendar to send out meeting alerts and reminders on your Garmin Watch. Apps for Garmin Wearables are developed using the Garmin ConnectIQ SDK   and are programmed using  Monkey C language  . You are already familiar with Monkey C if you are familiar with languages like Java or Objective C. Introduction to  Monkey C language   highlights the basic difference between other languages and Monkey C. Its a short and precise tutorial, I would suggest to give a quick read in case you are planning to develop apps for Garmin. The Problem Statement Lets say you own an And...

Building Secure RESTful Webservices

Recently I delivered a webinar on "Building Secure RESTFul Webservices" on Techgig  which received a very good feedback based on the Techgig survey. The webinar column was published on Gizmodo India  as well. Here is a list of key takeaways from the webinar How HTTPS work in detail and how to implement HTTP BASIC Authentication. What is Mutual SSL Authentication and how to implement it. What kind of damage can be done with security attacks like Man in the Middle and Replay Attack.  Authenticating user without passing credentials over the wire Preventing Man in the Middle attacks using Signature verification Preventing Replay Attacks using timestamp and cryptographic nonce What are OAuth 1a and OAuth 2 The code samples (written in Java) related to this webinar can be found at  https://github.com/abhilshit/bookstore   https://github.com/abhilshit/bookstore-client I am embedding the webinar recording for quick access below. Building Secu...

Web Service Security and Native Mobile App User Authentication

Image
In this article I am going to throw some light around web service security,  user Authentication  for native mobile applications and how both the topics are connected. Me along with my cool team members at Zycus were working on the same off lately. The idea is to highlight the fact that it is ideal to implement web service security by being agnostic to the type of web service clients (like mobile apps) but these decisions may impact the mobile app user authentication process. If you are working on a mobile application that requires user authentication and fetching data from a server side application then it is highly likely that you are exposing certain functionality of your server side application via web services that can be accessed over the web by your mobile application. While developing such applications you will usually encounter following challenges.  How to secure the web service endpoints?  How to authenticate users from the mobile app in secure way...

Yet another JavaFX App !

Image
This application has won the RIA Exemplar Challenge Award organized by Java Champion Jim Weaver, Stephen Chin and Jasper Potts check the winner announcement here and here Being a Java EE developer,I am always attracted towards the "grass on the other side" :P . I have been working on a JavaFX app, which tries to solve a typical engineering problem of loading cargo containers to a BeechCraft 1900C cargo airplane. Although the aircraft data and equations are taken from the authentic FAA weight and balance handbook (see Chapter 7 , page 60) , this application is not intended to be used for realtime cargo loading as it is just for JavaFX demo purposes and does not guarantee the accuracy of data and calculations. I must say again, being a newbie to the language its fun to learn JavaFX. Although I still regret not visiting Amy Fowlers blog post during the early stages of this app . Shown below is the screen-shot of the work done till date. Shown on the upper left side of...

My first experience with JavaFx Charts

Image
In one of my previous projects I was involved in developing a 2D line chart which shows the center of gravity of large cargo aircrafts like Airbus A380 and Boeing 747 etc .We used Java2D with more than a thousand lines of code and Richfaces paint2D to draw it as an image on a JSF web page .Being a newbie to the language, I was just wondering how much effort can it take to develop such a chart in JavaFx . I finally managed some time to try it out. So this chart is a Weight vs. Index chart where weight of the aircraft is on the y-axis and change in center of gravity index is on the x-axis. The polygons drawn inside the chart reflect the structural limits of an aircraft. If your current (index,weight) point falls outside these polygons in a certain condition, than the aircraft cannot fly because it is either nose-heavy or tail-heavy so it will crash. I was able to create the chart shown in the image above with almost 105 lines of code excluding the data inputs,in almost 3 hours. Java...

Bye Bye Zembly :(

This is in the memory of my favourite social programming platform Zembly which was an interesting attempt of Sun Microsystems making easy writing the applications for social platforms such as Facebook, Orkut, Meebo, OpenSocial and the iPhone by sharing services and widgets with the developer community. One of my blog post posted earlier this year, has a JavaFX Piano widget hosted on Zembly , and one of the JQuery games which I couldnt manage to finish :( . So far I dont know clearly why its being shut down, below is an excerpt from the mail which I received from Sun. " We regret to inform you that on November 30th, 2009 we will be suspending this service. More than three years ago, we started this project with the goal of making it easy to create next-generation Web apps. Our original tagline was "Build the web, using the web," and the ideas we were incubating around platform-mediated Web applications, Web API mashups, and social programming were brand new. We learned...