Sunday, October 21, 2012

Firefox mobile OS talk at JSFoo - Bangalore 2012

Have given demo oriented talk on Firefox mobile OS, at JSFoo - Bangalore 2012.  My talk was attended by around 60-80 members. Theme of my talk focused on introducing audience to Firefox mobile OS, creating FFx mobile applications using HTML, JS, CSS technologies.

Here is text-overview of my talk,

Android, iOS are 2 established mobile OS players in the Market. Windows 8 preview is available & Blackberry 10 are about to be released sometime next year. We also have Open WebOS from HP. FFx mobile OS is a new entrant to this space. In this session, I would be sharing my experience of what got me excited about FFx mobile OS & whats in there for web developers like you & me.

FFx mobile OS allows application to be created using JS, CSS, HTML. In fact, the only way we can create applications for FFx mobile OS, is using HTML technologies.

1) Hardware access :
  • To create Instagram like application, in order to store pictures being taken, application code need an access to device file system 
  • To create dialer app, application code have to interact with underlying telephony hardware.
How do we interact with underlying hardware from Javascript, if applications are created using HTML technologies? - Mozilla created WebAPI specification, FFx OS implements WebAPI specification & expose them as JS libs.

2) Bootup process :

Since applications are created using HTML technologies, when user switch-on the device, in order to render HTML components  FFx OS bootstraps Gecko layout engine. Gecko layout engine reads content from "profile" directory, loads "system app", once "system app" is loaded, it launches "homescreen app", all other apps are launched from homescreen app.

3) System App + Homescreen app :

Both "system app" and "homescreen" are created using HTML technologies. 10000ft view of layout of index.html of "System app" will look like a) top "div" container holds code related to notification/pull-down menu b) bottom "div" container holds code related to keyboard (which is hidden by default) c) Middle "div" container act as place holder for "iframe" of apps being launched. When user launches an app, FFx OS creates an "iframe", loads the app in that "iframe" & place that "iframe" inside middle "div" container. "z-index" of recently launched apps "iframe" is kept higher than other launched apps "iframe", so that user sees apps that he launched recently. "z-index" management is completely abstracted from developers.

Homescreen app shows a) Dock of commonly used apps b) Grid of installed applications c) Grid paging, if grid can't fit installed apps in single page.

4) Demo of creating apps for FFx mobile : 
  • Writing "helloworld" HTML page, test that in Firefox browser, add "manifest.webapp" to convert them as FFx mobile app. "manifest.webapp" is a JSON based structure that specifies a) app name (english and other languages) b) permissions c) Path to icon of the app d) web-activities declaration (web activity is similar to android Intent)
  • Porting famous "todo" app from Backbone.js to FFx mobile.
5) Touch event to mouse & keyboard event :

"helloworld" and "todo" apps are created for mouse click & keyboard based input system of desktops. But they worked as-it-is in touch based device. When user interacts with touch screen, touch driver generates event that contains a) cartesian coordinates of touch point, b) touch pressure c) touch area. These events reach gecko and gecko understands what component it rendered at the touch point and triggeres mouse click / keyboard event at DOM element corresponding to component at touch point.

6)  Logical layers of FFx mobile OS:

FFx mobile has logical names to various components that we have discussed,
  • Gonk - Device drivers (based on Android ICS drivers) + kernel
  • Gecko - Layout engine
  • Gaia - JS libs that expose underlying implementation of WebAPI spec + System App + Homescreen app


Here is presentation i used as supplement to my talk,

Tuesday, September 18, 2012

Tablet running Firefox mobile os

Last week, have ported firefox mobile OS to allwinner soc based tablet. Short video below shows tablet running B2G (Boot to Gecko aka Firefox mobile OS). In the video, touch response is bit slow that's because have enabled logs on many places for debugging, otherwise touch response felt good.

Hadrware spec :

Processor: Arm Cortex-A8 - 1.2 GHz
Graphics: Dual Mali-400MP
Ram: 512 MB
Display: 7inch - 800 x 480 pixels
Touchscreen : Capacitive multi-touch

Tuesday, September 27, 2011

SMB integrator experiment - Zero sum game


We are acquiring customers organically via inbound-marketing for our workflow product Postoz (http://www.postoz.com).

We wanted to accelerate customer acquisition inorganically & were talking with few SMB solution integrators for partnership deals.

Typically integrators earn their revenue via,
  1. Business consulting.
  2. Technology consulting and implementation.
  3. Support services.
Since our product is SaaS hosted; do-it-yourself; no-coding required solution, it eliminates need for step 2 and 3. Our partnership deal has to be purely based on revenue sharing.

There are other big SaaS vendors playing zero-sum game with these SMB integrators. These vendors are spending multi-millions upfront to acquire large customer base. We don't have such large financial leverage to spend millions on customer acquisition.

Fun part of startup is creating greater economic value out of nothing rather than corporate style 5-8 year break-even period to recoup invested millions.

We have to make ourselves more reachable for customers world wide & we should find direct path to customers.





Saturday, September 24, 2011

Fun starts after release of the product


Like other dev-entrepreneurs i hated marketing/sales at first time, i guess because programming is much more quantifiable than marketing/sales.

In programming you deal with machine, tell it how to behave & when something didn't work you know how to fix it.

In marketing/sales you are dealing with other human (customers, bloggers, partners etc). It is more of psychology play. You will certainly don't know why certain things didn't work/worked in particular way.

Productizing an interesting problem/idea is just start of the journey. Real fun starts when you selling it. You get lot of energy when,

  • Your product is being used by customers (uhh, finally built something people need)
  • You receive love letters & support requests from customers and hate mails from competitors (few meaningful emails in your Inbox).
  • Revenue generation (allows to on-board new hackers to experiment exciting ideas)

Ship your product quickly and start selling. Your excitement will grow exponentially with every customer acquisition.

Sunday, August 28, 2011

Pattern of human centric business processes

Many SMEs use email for workflow management. Email based workflows are best examples of "human centric" business processes. The flexibility of email allows enterprises to structure their workflow system with ease. But email based workflows are painful when the team size is not small and business process requires,

  • Transparency among team members (who is working on what & how long).
  • Traceability of work item across various departments.
  • Quantitative data to analyze existing process structure for improvements.
In enterprises, pattern of "capturing data via web form (or) email that flows among group of people in an orderly sequence", repeats for many human centric business processes such as "IT helpdesk", procurement and employee on-boarding etc. We recently released Postoz (http://www.postoz.com), a SaaS hosted, web based solution for this common pattern.

Postoz enables enterprises to create and deploy business processes in few minutes. With Postoz, enterprises can build automation solution for business processes the creative way they wanted and deploy them over internet, instantly.

Here are the links to get started and know more about Postoz,

Sign-up free demo url : http://www.postoz.com/demo

Tour page : http://www.postoz.com/info/tour

3 mins demo video : http://www.youtube.com/watch?v=xWnu6RIUQaA

Tuesday, July 19, 2011

Postoz - Public beta launch.

We recently launched our latest product "Postoz" in limited public beta. You can access it at http://www.postoz.com

Postoz is focused on an issue, most enterprises are coping with - "Using email for workflow management".

Email has proved as wonderful communication medium. The flexibility of email allows enterprises to structure their workflow system with ease. But monitoring, tracking, measuring & optimising email based workflows are tough.

At one end, there are expensive bloatware workflow/business process systems that requires multiple months of customization and at other end, there are one-size-fits-all ready-made solutions that kills operational innovations & effectiveness.

Postoz is SaaS hosted, web based business process system that lets organisations craft automation solution for business processes
the creative
way they wanted & deploy them over Internet, instantly. Build business process in 5 minutes.

You can try Postoz at http://www.postoz.com

Wednesday, April 13, 2011

Postoz - Build email driven apps

We are preparing for beta launch of our new product - Postoz.

Postoz empowers enterprises to create, deploy, monitor email driven business processes.

Postoz = Email routing + Workflow + Web app for business logic

Epitome of postoz :
  • Automate business processes that are driven by inbound or outbound emails.
  • Control execution of business process with DSL based email routes and workflow steps.
  • Use web development skills for business logic implementation.
  • Get started at no cost.
  • Deploy at our hosted cloud environment or at your own infrastructure.

You can find more info and/or signup for a private beta invite at : http://www.postoz.com

Feel free to send your feeback/thoughts to feedback@postoz.com