This is a strange issue about Google push notification.
I am trying to send notifications to my APP. In office, my Samsung Galaxy Mega 5.8 (4.2.2) and Nexus 7(5.1.1) can receive the notifications with wifi connection, but the Infocus M210 (4.4.2) fail to get the notification.
To narrow the problem, I try Push Notification Tester to do the test on M210 and Mega 5.8. The M210 also misses the notifications.
I take these 2 phones home. The M210 receives all the missing notifications when it connect to the wifi in my home. I try Push Notification Tester again and both phones works fine.
All phones work fine but the M210 in my office's wifi. The M210 can work fine in home's wifi only. I can't figure out why M210 can't get the notifications in my office. Is the wifi the root cause? Surfing on the Internet, I still can't find the reason and solution yet.
2015/09/25
2015/06/11
Working with files in JavaScript
Worth to read!
Working with files in JavaScript
Part 1: The Basics
Part 2: FileReader
Part 3: Progress events and errors
Part 4: Object URLs
Part 5: Blobs
Working with files in JavaScript
Part 1: The Basics
Part 2: FileReader
Part 3: Progress events and errors
Part 4: Object URLs
Part 5: Blobs
2015/06/05
Blank window issue on Safari Mobile and a quick solution
I am working on an embedded project. The device provides simple Web HTTP interface to interact with this device. It works fine on all browsers but Safari Mobile on iOS 8.3.
Surfing on Google, there are some problems on Safari Mobile (article 1, article 2, article 3, article 4, article 5). They sound like not same as what I am facing to. I monitor the packets captured by Wireshark, and found that Safari Mobile didn't load all resources(css, js, ttf, etc.) completely causes this problem. The Safari Mobile communicates with Web server in HTTP pipeline, while the others (Chrome, Firefox, Opera, IE, Safari Desktop, etc.) don't. (The others will reuse the connection, but won't pipeline them). That is the major difference!
In theory, the HTTP pipeline can speed up requests by reducing the number of round trip times. But there are some articles(articles 6, article 7, article 8) comment on this point. This is not what I want to discuss in this page. Let's back to my problem.
The HTTP pipeline raises lots of problem. Some developers submit tickets to Apple, but there is no plan to solve the problem. I try to find
I found an easy workaround for this issue at last. This problem can be solved by setting the connection field of the HTTP response header. I force the connection field to be "close" if the browser is Safari, and it works! In Java Servlet, you can set it as
(or you can set the header field in Filter), or in PHP
or you can set the field in Web server setting.
In Safari Mobile, it will close the connection when receive the response, and won't send further requests thru this connection. That is, no more HTTP pipeline from Safari Mobile. I am not sure is this the best solution or not, but it really solve my problem.
Surfing on Google, there are some problems on Safari Mobile (article 1, article 2, article 3, article 4, article 5). They sound like not same as what I am facing to. I monitor the packets captured by Wireshark, and found that Safari Mobile didn't load all resources(css, js, ttf, etc.) completely causes this problem. The Safari Mobile communicates with Web server in HTTP pipeline, while the others (Chrome, Firefox, Opera, IE, Safari Desktop, etc.) don't. (The others will reuse the connection, but won't pipeline them). That is the major difference!
In theory, the HTTP pipeline can speed up requests by reducing the number of round trip times. But there are some articles(articles 6, article 7, article 8) comment on this point. This is not what I want to discuss in this page. Let's back to my problem.
The HTTP pipeline raises lots of problem. Some developers submit tickets to Apple, but there is no plan to solve the problem. I try to find
I found an easy workaround for this issue at last. This problem can be solved by setting the connection field of the HTTP response header. I force the connection field to be "close" if the browser is Safari, and it works! In Java Servlet, you can set it as
response.setHeader("Connection", "close");
(or you can set the header field in Filter), or in PHP
header("Connection: close");
or you can set the field in Web server setting.
In Safari Mobile, it will close the connection when receive the response, and won't send further requests thru this connection. That is, no more HTTP pipeline from Safari Mobile. I am not sure is this the best solution or not, but it really solve my problem.
2015/05/19
你如何設計你的產品?
創業者請想清楚,該關注自己的產品還是需要解決的問題?
「每次他們發現新問題或新需求時,就不停地添加新功能。最終結果就是產品變得異常複雜,功能零亂,又沒法徹底解決用戶需求」
這篇文章讓我想起昨天在辦公室裡的事
昨天下午三點多接獲一個新指令,要做一個新功能。
思考了一下,把疑點跟主管討論了一下
嗯...這功能A在操作上會自己與自己抵觸
OK,主管決定修正為功能B
再思考了一下,覺得還是怪怪的
再去找主管,仔細的問這功能是要給誰(actor)用?這功能要呈現什麼價值(use case)?
被我這樣一問,大家才搞清楚誰是使用者,操作情境是如何,也才發覺原來功能A與功能B都不是最好的解法。從整個scenario重新構思,分析出我們的需求應該是功能C
在設計產品時,得不斷提醒自己,這是要給誰用?你的產品在那個情境中,能提供他們什麼價值?
「每次他們發現新問題或新需求時,就不停地添加新功能。最終結果就是產品變得異常複雜,功能零亂,又沒法徹底解決用戶需求」
這篇文章讓我想起昨天在辦公室裡的事
昨天下午三點多接獲一個新指令,要做一個新功能。
思考了一下,把疑點跟主管討論了一下
嗯...這功能A在操作上會自己與自己抵觸
OK,主管決定修正為功能B
再思考了一下,覺得還是怪怪的
再去找主管,仔細的問這功能是要給誰(actor)用?這功能要呈現什麼價值(use case)?
被我這樣一問,大家才搞清楚誰是使用者,操作情境是如何,也才發覺原來功能A與功能B都不是最好的解法。從整個scenario重新構思,分析出我們的需求應該是功能C
在設計產品時,得不斷提醒自己,這是要給誰用?你的產品在那個情境中,能提供他們什麼價值?
訂閱:
文章 (Atom)