Wednesday, November 06, 2013

MocDoc - Clinic Management System

When we start working on MocDoc Clinic Management solution (http://mocdoc.in) on top of already existing appointment management system, one thing is very clear to us it should be dead simple and easy to use. Did we achieve that? Yes we did it, all our doctors who uses MocDoc clinic Management system says that.

What we offer as part of Clinic Management?

  1. Role based access control
  2. Patient Registration 
  3. Patient Checkin
  4. Patient Photo
  5. Patient Visit record forms with Highly customizable based on speciality we have customization called templates for 
    1. Dental with tooth coded flow
    2. Pediatric Template which has WHO Growth Chart and IAP immunization Chart
    3. General Medicine
    4. Ophthal template (EYE)
    5. Homeopathy Template 
    6. Veterinary Template
  6. Review Reminders
  7. Prescription by single key press
  8. Billing
  9. Expense Tracking
  10. Reports
    1. Appointment Reports base on speciality/department
    2. Reports based on consultant
    3. Income report
    4. Expense report
    5. Visit Summary Report
    6. Outstanding amount report
  11. Lab/Service Provider integration
  12. And more
Here is the screenshot of Patient Dashboard.

 Patient Dashboard is powerful summary of particular patients. Here Doctors can easily and completely understand the specifics about patients. Prescription and Visit summary can be reviewed at any time.




Monday, February 11, 2013

MocDoc is ....

There is a long story to MocDoc, I will hold it for later.  MocDoc is a culmination of various things I experimented wired with personal experience seen through lenses of some of my friends.

For most of the people meeting a doctor sounds like they have health issue :) it is not any more for us, it became part of our job, we are able to understand their world.  Doctors are very positive about us.  We met more than 2000 doctors in various cities and signed up more than 1675 doctors with most useful information about them, otherwise it is not visible at all.

Some of them inspired us to the core.

With that said, MocDoc provides localized search ie doctor discovery and availability information which translate to appointment booking based on doctors availability and patients convenience. MocDoc provides various way to book appointments most popular one is web (online appointments).
It also professional network for doctors so they are now able to connect with other doctors.

We met Dr. Guru Moorthy (he is already a member in MocDoc) recently. He said, his  friend's (he is no more ) son from West Bengal found his profile through MocDoc and able to reach out to him. He was so happy that he was able to talk to him. We were thrilled to hear from him.

We serve appointments with doctors of more than 50 specialities some of them are 
    1. Cardiologist
    2. Gastroentrologist
    3. General Physician
    4. General Surgeon
    5. Nephrologist
    6. Neuro Surgeon
    7. Neurologist
    8. Onco Surgeon
    9. Oncologist
    10. Ophthalmologist(Eye Care)
    11. Paediatrician
    12. Dermatologist
    13. Diabetologist
    14. ENT
    15. Endocrinologist
    16. Dentist
    17. Ayurvedic
    18. Homeopathy
    19. Siddha
    20. Psychiatrist
    21. Siddha
This list is not complete, Please visit MocDoc to discover more...




Thursday, November 22, 2012

Is Google slow positioning the web?


Is Google slow positioning the web?

 As I increasingly aware that web site analytics going to be decreasingly fruitful to measure certain metrics like "keywords" used to land targeted page. The reason is more and more Google uses search behavioral targeting (browsing behavior) and contextual states (from its properies like Gmail/Google plus/Drive/Android etc) to manipulate the result. It is shockingly evident that the page I see as a result of search for particular keyword is not equal to others anymore and it is going to be increasingly different for each users. 

So how would this impact  Ads and Analytics. Yes it will. For ex. google analytics reported that user searched using keyword "some search term" and got this page. I tried the same query, i could not find the search result with my application. I tried almost all the pages. This is truly dangerous and google is slowly positioning open internet. 

Keyword "circle" is not same for every users, if they use Google properties more, circle may be square or rectangle or something else. This is definitely not good for Ads based on keywords.

Generally, Google Search is where people wanted search and locate their desire content and immediately go out to different pages, those different pages is going to be affected more and more when Google chases Facebook (I mean if G+ grows more search result increasingly going to be different).  In contrast Facebook is where people go there and stay there and do not want to move out, thats why Facebook "Like" is  just become vanity metrics, people may like it but may not pay any attention to or leave Fb to its source - it is not very useful to business)









Friday, April 13, 2012

Smartphone shifting everything

Most of the people who tracks  mobile app world aware of importance of apps and great companies like instagram become quick $1 billion worth just capitalizing momentum behind mobile. Many companies focusing on mobile first strategy. Mobile become increasingly powerful and ubiquitous eating time of people and very much immersed in something on mobile (http://cnnphotos.blogs.cnn.com/2012/02/29/de_vice-our-mobile-addiction/), every 3 months new mobile comes of with some kind of improvement. Already USA crossed 50% mark of smart phone user. It is definite empowering people, once information was living in the people's head, then in books, then in desktop kind of computer - started moving with laptop and now living with people every moment. It is gateway to greatest and ever growing repository of cloud.

What a fantastic period. From the moment Steve Jobs holds iPhone in his hand and unveiled to the world industry got disrupted loosing Palm, RIM and may be Nokia. Most of the revenue is sucked by  Apple http://www.asymco.com/2012/04/04/weighing-the-share-of-value-created/ 

Thursday, March 08, 2012

Birth of SSD with PCIe connector with 2.5 inch form factor.

PCIe 2.5 inch SSD - fruit of ssdformfactor.org:
Couple of years back came to know that ssdformfactor.org is formed to drive next generation connector architecture for storage devices because SSDs are almost immediately saturating whatever improvement SATA   and other Standard brings in.

SATA3 with 6gbps is saturated immediately by then Sandforce controller based SSDs in consumer market. Enterprise SSDs are different stories - few companies uses SATA based one others uses most popular high performing PCI Express card based solution to drive 100s of thousands of IOPS.

 Micron the company known in consumer SSDs space like crucial C300/M4 kind of SSDs owning it's own NAND fabs jointly with Intel revealed PCIe 2.5 inch SSD.

It is fruit of ssdformfactor.org which finished and approved version 1.0 of Spec. So, in coming months we will see SSDs which incorporate PCIe connector popping up. It is really going to be game changer for standard based storage solution.  Dell, in fact, partnered with Micron for the above mentioned drive and said they are going to use in their servers.

Apple's the new iPad

Apple ecosystem is maturing a lot. One of the best in class which makes entertainment/ content consumption roundtrip without much hassle of network fiddling unlike other's offering.
The new iPad Ups the ante, it supports LTE, Bluetooth 4 to wifi n in one end and gorgeous retina display on the user end.  Experience is function of coordinated/rhythmic working of various components working as whole results in more than sum of individual things.  And retina display needs big content whether it is movie or music or game or other app which needs very good network, better GPU, CPU, RAM and battery -- at the end how I experience it -- ( how immersive it is! ) simply hides what beneath it. So Apple still proved they go on creating better experience and people love to buy those experience.
It looks like and based on very recent new tablets unveiled -- from Asus to Lenovo, they look simply unmatched in whatever angle I review it.  Samsung has a chance to match and better Apple's new iPad. With new Google Play, better screen, better processor they can match it in spec and on round trip but not sure whether they will deliver it.

  

Tuesday, March 06, 2012

Apple's Slide to unlock is prior art

Apple's slide to unlock (http://www.theverge.com/2012/3/6/2849051/slide-to-unlock-patent-apple-android-google) is prior art. If you happen to see old india door lock, it is just that in digital form.  Why apple?
I will post one of my antique house slide lock soon :). This kind of lock's can be found in old indian temple also.


Sunday, February 26, 2012

About Android fragmentation

I read a great post http://pxldot.com/post/18281312362/android-measuring-stick by Chris Suave. I have different thought on his conclusion about ICS. Here is why.
1. Galaxy S2 is sold more than 20 million to date and Samsung will upgrade SII to ICS and leave GS.
So, all the S2 devices will be upgraded to ICS
2) HTC has same take -- will upgrade most of the HTC released on 2011 phones
3) Motorola will upgrade Droid Razr, Maxx etc  and Sony and LG is saying so.

So effectively 3rd quarter of 2012 will see ICS going to over take Gingerbread.  The trend is that once vendor started porting their skin to ICS and rolling out to existing devices and new devices which is seen in MWC2012 ( except Sony) ICS is major platform. So 90% of the all the devices sold in 3rd quarter is going to be running ICS. But unfortunately Google is talking at that time about Android 5 or 4.x.

Tuesday, January 17, 2012

Should I use GWT ( Google web toolkit) or JQuery?, My answer is JQuery

Google Web toolkit is powerful tool for creating rich web application using Java as development language and eclipse as IDE. When GWT was launched, it was great idea for Java folks to qucikly write code in Java which GWT tool will translate to corresponding Javascript code. It was making sense for Java folks, and making sense for the time when browser based debuging is pain and non existing. GWT provide cross browser ability and boilerplate code, so it is easy to bring rich AJAX based widgets.

There are tradeoffs,
* you code in Java
* you code in they way GWT ask you to code
* I like to use HTML5 data-* api and Wensockets - you need to depend on GWT team to release supporting API or you need to learn Java to implement those in GWT way-- it introduces one more impediment/dependancy to code upgrate path ( or fragements the development)
* You many not use HTML or HTML5 etc, you use Java. I would have been happy in year 2000 but  not in 2012 :)
* You gradually diluted out of web :)

I am not pro to GWT, I like to code in Javascript and wanted to utilize beauty of JS programing. I wanted to control what I write, however I don't want to code for various browsers. My biggest pain is not pure JS coding but browser specific code and DOM scripting. So JQuery fits nicely here.

JQuery shines at
* You code in Javascript and not in Java so I don't depend on Java
* Simplifies DOM scripting
* Fosters plugin based reuse and mostly you find it from somebody who already written it somewhere (there is plugin repository from JQuery website)
* Micro updating through Ajax is simple and closely write code to the specific APIs and normally you write it in a line of code
* Very popular and hence you find support of any kind of issues is milliseconds (that's what google search tells you)
* Everybody supports including Microsoft, I like their contribution to JQuery template
* There are available from many CDNs -- Google, Microsoft, AOL etc
* Taking dynamic coding to the next level, Do the template in the browser -- I do lot,
* I can use HTML5, CSS3 etc in a way that's close to specs


Wednesday, January 11, 2012

Playing with Hotmail oauth

Hotmail is very friendly unlike Facebook to access their info.  Use https://manage.dev.live.com/ and create your app and get client id and secret. It also allows you to specify callback/return to URL in the dashboard.

It is funny that URI component for mobile app is touch.

It is interesting to see it support localization but there should be a way to pass localization info dynamically otherwise it is of no use.

Very elaborate documentation about how to access live oauth 2.0 based service is here http://msdn.microsoft.com/en-us/library/hh243649.aspx.

Tuesday, January 10, 2012

Erlang Facebook API

I am exploring way to get into user's graph using Facebook API, my language of interest is Erlang. With quick search, unlike Yahoo API, I found couple of erlang module available to do the job. I will go over it and if I find anything cryptic, I will update it on next post.
My requirement

  1. User wanted to bring their user graph but not need to provide their userid/password (oauth)
  2. Once loggedin, they choose people who they are to be invited 
  3. Choose selected one.
This is kind of interesting flow, in fact, others following.  

Constrains,
  1. What is the API user agreement?
  2. No of calls limit
  3. Constrain to post message to Facebook using API
  4. Retrieve Events 
I will research these topic and post it here if anything interesting.

[Update] Facebook API doesn't allow contact email addresses of friends but found that there are greater API level integration with different graph API. But clue is "it is easy with oauth" but facebook notoriously stoping me to verify my account using phone no :)  So I am hibernating this effort.

Sunday, January 08, 2012

Yahoo oauth and Erlang

I successfully implemented or more aptly integrated yahoo oauth.
Points to note,

  • You must sign in and get 
    • Consumer key embeds what kind of service you are enlisted 
    • Secret 
    • App ID (you don't need it for YQL)
  • For accessing private data -- it is 3 legged process -- 
    • Get request token
    • Use that to bring yahoo sign in page to ask user to give authorization to access services 
    • Once user accepts, callback URL will be called and with query param 
    • Once callback is complete, access actual DATA API using YQL
  • YQL determines what service (like contact or connection etc) you are accessing but consumer key tells whether you have that service enabled. 
  • If you later add or modify service access, you will get new consumer key
  • diagnostics=true is handy to see what is wrong with your request
  • Most of the oauth parameters are sent as query string
  • Mostly more than 3 requests fired to yahoo to get a data
  • window.opener will not work to communicate back to parent window because it is shifting to 2 different domains
  • I used ugly timer to track popup window to closing status. I felt window.close event would have been handy.
I used nice little library for erlang (https://github.com/tim/erlang-oauth) 

Open source winning because of all of us

I saw hacker news today that Nginx become most (sorry second most) popular web server putting Microsoft IIS into its rear view mirror, and now it is behind Apache web server --- first 2 are Open source projects.

Middle or before end of this year Google Chrome is going to do that for Internet explorer, again it is based on chromium open source project.

Android did better and put iPhone into second place.

It is all great news and we never know how many people behind this effort, there are lot.

Again, younger generation are getting charges into big IT role into corporate environment and will see more churn soon in enterprise sector.

I am seeing Open source started winning the game.  Software are commoditized and it good thing that it is going to impact huge into people's life.

Linux made or commoditized server and which in turn revolutionized into Cloud,
Web started growing big because of lots of open source projects like Apache, Linux in the server side and
programing tools like PHP, Python, Perl and others made development  or building product or web apps easy. I never heard any startup using C# or .Net.

Android to iPhone and Windows --- Anybody can built anything using Android, there is no barrier to software availability, so hardware is getting cheap and all the corners of the world is benefitting.

When I heard OLPC's $100 PC, I could not imagine how it is possible, but now seeing under $50 tablets like India's Akash.  It is possible because these product vendor no need to develop OS which is free and saving that cost to shave hardware cost make sense. It is not only money but effort and fear of adoption, if it doesn't have appeal or market share like Android which pulls people to think and be confidant to go ahead with product.  I am not denying other factors - thanks to ARM processor  for its cheap  processor and mass manufacturing of LCD which driven cost down -- these are happening  because of mass effect.

Saturday, January 07, 2012

Apple and Apple TV

Everybody is gushing and guessing that it is going to be from 32-55 inch with SIRI based interface etc etc. But I am thinking "Will Steve Jobs think that that is going to be a good idea?" It sounds negative to me.
But Apple is going to release TV. Surely. What I am thinking that Steve would have thought "Take already existing product which really sucks now and if it put under "Steve Jobs Treatment" it is not going to suck, it is going to be fantastic product -- in terms of simplicity, aesthetics and sale" -- Is current LCD TV going to create such magical overhaul? I am not comfortable to say yes.

But what if Steve picks up "PICO" projector and combine that with Apple TV with toch LCD on top to touch control and iDevices act as remote, Camera for face time and little more sensible SIRI?

SIRI will sound cancel the sound coming out of TV??? in order to understand user voice (hunt for patents), it is Apple TV version 2 :)

Just opposite of proximity sensor in iPhone -- move your hand to the top senses your hand and turn on LCD, to do touch to control -- so it can independently operate. It can gel together with iDevices, it is already built into apple tv.

Totally I hate TV because it is not portable, it is not magical

Thursday, January 05, 2012

Steve Jobs Treatment

Today, I am introducing the term "Steve Jobs Treatment".

Usage: "Give a Steve Jobs Treatment"

What is it convey?

It is to "convey feedbacks and force to act on those feedbacks" of particular product or work in general -- to making it  
  • Simple, 
  • Aesthetically appealing,
  • Useful and 
  • Pleasing to use in and out


What is it going to be?

After those implicit feedbacks and acting on those action items, product or work should be

  • Simple, 
  • Aesthetically appealing,
  • Useful and 
  • Pleasing to use in and out and 
  • Feel faster in overall experience against raw performance numbers

Hm.. I also put this blog entry into "Steve Jobs Treatment".

[Please note that it is not about medical or health related treatment]

Thanks. 

Wednesday, January 04, 2012

Websockets, Well done Apple!

Websocket is now standardized in RFC6455. With IE10 on board all Desktop browsers supports Websocket.
Desktop Browsers versions which supports websocket:
  1. Google Chrome
  2. Firefox 7+
  3. Opera 11+
  4. IE10
  5. Safari 
Mobile OS:
  1.  iOS (Safari -- personally tested) which includes iPhone, iPad and iPod touch. The very noticeable point is, Apple is supporting it from iOS 3 on wards. 
Android OS:
      None of the browsers including Firefox (I tested with FF beta)
         Google is very poor at implementing websocket in Android, considering fragmentation and it's track record of upgrading OS in the Android land, it is going to be another year or 2 to support websocket in Android.  It is blow to Android and Google suffers "Microsoft" syndrome. 

Apple is leading by example in implementing Html5 and Websocket protocol, Android lacks severely in this area.  For web developer, will it be a fight and pain supporting Android devices similar to how it was to IE6?

Well done Apple!.




Mochiweb 2.3.1 and cygwin on windows

I just want to setup plain webmachine and mochiweb latest (2.3.1) from their respective github (git) repository. Webmachine clearly not compatible with mochiweb 2.3.1, at least for simple not dependent (no Riak) instance,
These are the additional services should be started,
here is the code which webmachine likes,

     ensure_started(crypto),
    ensure_started(public_key),
    ensure_started(ssl),
    ensure_started(compiler),
    ensure_started(syntax_tools),
    ensure_started(xmerl),


ensure_started function is nothing but webmachine's, this is a kind of paradigm followed by all well written Erlang apps. 


After these changes, webmachine is started and flashed "Hello, new world" when I hit http://localhost:8000, may be I will push these changes to webmachine. 




Tuesday, January 03, 2012

Erlang DNS TXT, MX record look up

I was exploring how to query DNS and do some probing on various types of information like MX and TXT records.
Here is the simple API
 Step:1         inet_res:nslookup("domain.com", 1, txt).                                                                           
It is always advisable to use another function, to convert it from internal record type to list,
 Step:2        inet_dns:msg(Return_from_Step1)                                                                                                    

 Step:3        inet_dns:rr( Return_from_Step2)                                                                                                           



Step:2 always return list or tuple of error message. So return value from the Step:2 should be processed.




Here is the complete code which returns "TXT" rr record, you can substitute mx for "MX" records,
lookup(Domain, VerifyingText) ->
 case inet_res:nslookup(Domain, 1, txt) of 
  {ok, Record} ->
   DnsRr = case inet_dns:msg(Record, anlist) of 
           DnsRrList when is_list(DnsRrList) -> hd(DnsRrList);
     _ -> []
           end,
   io:format("IS of type ~p ~n", [is_list(DnsRr)]),
   inet_dns:rr(DnsRr, data);
  _-> false
 end.
Pass the domain name to the lookup, you will get the list of records.


 More here http://www.erlang.org/doc/man/inet_res.html

Sunday, January 01, 2012

Google API using cURL or wget or plain http

I was researching to use Google API for certain activities.
There are 2 kinds of access
  1. oauth 
  2. clientlogin (username and password) 
I am mostly interested in clientlogin.

Client Login:

Thing to Note:
  1.     Service Type: More here http://code.google.com/apis/gdata/faq.html#clientlogin for contacts, service type is "cp"
  2. There are 2 request to fetch the actua value
    1. First Request URL:  curl https://www.google.com/accounts/ClientLogin --data-urlencode Email=YOURID@gmail.com --data-urlencode Passwd=PASSWORD -d accountType=GOOGLE -d source=Google-cURL-Example -d service=cp
    2. Response for the above Request will be: SID=DQ...........A
      LSID=EUBBBIaBADCl...........2JKOuGh
    3. Make second Request by using Auth param from the above response: 
      1. curl --silent --header "Authorization: GoogleLogin auth=AUTH_TOKEN_FROM_ABOVE_RESPONSE" "https://www.google.com/m8/feeds/contacts/YOURID@gmail.com/full"
       
  3. Second response will be the address details, thats it. 





Friday, December 23, 2011

Android, iPhone and Windows Phone but why Winpho do not have a chance

Microsoft: One of the wonderful company in terms of business sense. They still generate loads of Cash. They are upbeat about earnings. It's multi legged Gorilla. It has OS which ubiquitous similar to UK in 18th and 19th century until few years. It has web browser and it is inseparable and servered more than 90% of netties until 5 or 6 years back. It has Golden touch interms of enterprise look at MOSS (Sharepoint) and Office products. It enjoyed more than half (50%) smart phone market share until few year back.
 Apple: That guys are pure awesome. If you go back carefully in 2007 and study the market of mobile devices and it's capabilities and experience (including windows mobile) you understand why this guys are standing where it is standing now. They are Game changers. If it is not that disruption happen on mobile, they are still a guy in music.
Google: They know what they do. They have so many failed attempts and they fall quickly and get back quickly. Most of their home grown services except few bruised them time and time again. But they made always beautiful acquisition which includes Ad sense to Android. They know the cloud and they made it so that service need not bother whatever load it brings with them.
Free: Sure. Free is beautiful thing. People like free things. Free thing attracts people. Even if it is not free, considering something sells low cost in the place of market that dominated by premium cost, will be going to supre hit. That's what time and again market proved. HP tocuhpad, Amazon kindle fire etc.
Android: Android started free but it has great team which includes carrier to device manufacturer. Once you get the software and service as half good as something best in the market people will see. Considering the experience of existing one, if you provide better than existing predominant one and half as good as the best in the market, yes you will hit the right place with right time. If it is free, so many jump into, and once you get the momentum, be it bad press or good going to be pushing factor. It develops familiarity and momentum snowballs into formidable force. Unless otherwise some game changing product blocks it, it will continues to roll.
Internet: It is everything. Whatever you buy, it needs to talk some way into internet. And barrier to internet is pretty low, which does't need or force it have windows or macs or linux. Or mobile or what not.
Windows: Apple proved windows can be diluted with product with right value as ecosystem. Mac, iPad, iPhone, iTouch, AppStore and iTuens. Android proved and become juggernaut. And above all it is internet which is going to be universe for anything and everything going to determine or going to dilute the mode by which internet is being accessed, if it is TV, people look for smart TV, if it is phone people look for smart phone. That smart factor's central nervous system is internet. Assume that, if browser is disabled in windows or mac, no body will buy (sorry at least 50% will not not buy) them. So major thing which will be part of buying decision is internet. And past 6 to 8 years, internet started diluting platform dependency in a scale that big vendors like Microsft failed to recognize it.
For Microsoft, it is always 2 to 4 years late in the game: They launched Zune, after seeing iPod peaked out and failed to innovate windows mobile. Later, seeing iPhone, they thought it will not make it, may be purely because, their policy against buying competitor product. Once they saw, iPhone's demand and Android's momentum, it was already too late but they launched windows phone with moden touch. But those vendor moved on to iPad and tablet. Microsoft has just blinked.
So, these are summary of wrongs which Microsoft did,

  1. Zune in response to iPod -- probably it should have been windows phone with those things natively integrated 
  2. Windows Phone to iPhone -- it should have been tablet, if they succeeded based on step 1, but atleast windows phone with tablet at this time would have stopped some bleeding Other attacks on Office suites, email and search are big topic in itself. 
  3. Totally microsoft suffered because of they are not open and not listened to various signals they saw over many years. 
  4. Though Steve Ballmer monkey danced and yelled "developer, developer, developer" but it sounds like developer left long past and yelling merely vanished in vacuum --- Apps, Ecosystem with Development, distribution (market) etc and upcoming road-map like connected devices, TV, infotainment etc makes Android strong ahead of windows phone. 
  5. Looking at how Device vendor embraced snugly to mine some Gold on the path or tunnel created by Apple, it is going to be long moving target for MS. 
  6. Current technology like Touch, Voice and icon based user interfaces advancement made underlying platform branding is less important where in in Desktop or Laptop it always make sense to follow the leader. So brand value of Microsoft as OS leader won't help them seal or make any dent in the mobile area, there is no reuse in terms of existing learning for those system. And again apps which neutralized those leader advantage.  
So for past 10 years MS entered late to Game and exit yearly.  I am seeing how IE lost share and after all bruise started  to overhaul IE. Slightly different story goes to Zune, WinPho, Search etc (these things followed or reaction to their lost focus not entering and innovating early into market).

 If you think of UK to Microsoft, you will be right that it is going to be, within couple of year, they are like nice player and going to be kicked out of everywhere (similar to CES 2012).