当前位置: 编程技术>移动开发
本页文章导读:
▪给App讫个好名字 给App起个好名字
不管是APP,还是微信公众号。起个好名字其实是个很大的考验。
好名字的标准就一个:能否让用户很轻易的识别、理解、传播。对创业公司而言,好名字还要有一.........
▪ XMPP学习之 Spark+OpenFire服务器的筹建(第1节) XMPP学习之 Spark+OpenFire服务器的搭建(第1节)1,先去OpenFire官网下载对应的Openfire和spark软件
网站:http://www.igniterealtime.org/downloads/index.jsp
注:exe为安装版,zip为绿色版,当前演示为安装版
2,安装.........
▪ 对图片进展压缩 对图片进行压缩 dataImage = UIImageJPEGRepresentation(imageReadyPost, 1.0);
NSUInteger sizeOrigin = [dataImage length];
NSUInteger sizesizeOriginKB = siz.........
[1]给App讫个好名字
来源: 互联网 发布时间: 2014-02-18
给App起个好名字
不管是APP,还是微信公众号。起个好名字其实是个很大的考验。
好名字的标准就一个:能否让用户很轻易的识别、理解、传播。对创业公司而言,好名字还要有一个功能:吸引流量。
口袋购物最早叫口袋时尚,不温不火,后来改名为逛淘宝,一下子增加了很多下载,蹭了不好流量。当然,现在在APP上,所有带淘的APP,都可能被淘宝投诉下架。
口袋购物的微信大账号叫口袋小秘书,口袋购物用作防御性账号,就是因为他们做过用户访谈,购物这两个字商业感太重,不够亲切。
过去,起好名字凭的还是感觉,靠用户访谈、用户反馈等手段。能否用上更给力的用户洞察手段,比如数据挖掘。
最近,看到一个案例,感觉很给力,来自《南方都市报》的爆料:
你有想过,只是换了一个App名称,就让下载量直线上升吗?出人意料的效果,但下载量的确从更名前所积累的7万用户,一下子蹿升至更名后一个半月用户数达到30万。
在改名之前,“音阅FM”对于这个App来说,是个中规中矩的名称。因为只要你点开它,就会明白,这是一个将音乐与文字、图片的阅读结合在一起,提供视听双重体验的App。但它的缺点也一目了然,即在进行口碑传播和市场推广的过程中,用户却并不容易理解这款App的意图和使用场景。
同时,作为“被窝音乐”母公司深圳柠檬海科技有限公司CEO的林海也发现,用户使用“音阅FM”有四个高峰期:早晨7点至9点,中午12点-2点,傍晚6点至晚上8点和夜间10点以后。这让林海不禁开始设想,用户究竟是在什么场景下使用这款App。
“早上离开被窝的上班途中,中午午休时间,傍晚回家路上和晚上临睡前。我们的理解是,当城市里的白领们在一天紧张的工作节拍中好不容易找到一小段时间歇一歇时,他们会打开我们的App,让自己慢下来。这正是我们做这个App的初衷。”林海向南都记者这样解释。
于 是,他和“音阅FM”的项目负责人王伟就想出了“被窝音乐”这个听起来极富场景感的新名称和“孤单的被窝,用音乐暖床”这一颇具小清新和慢生活意味的Slogan(标语)。结果,新名称上线仅仅一个半月,用户数就从原先的7万飙升至30万,同时日活跃度也从过去的5%翻番至10%,周活跃度达到50%。
被窝是一个很能激发用户共鸣的词汇,也很性感。但在过去,我们想一个名字耕读靠灵感,在手机上,对用户行为的洞察也能更深,起名字也会更有把握。
微创新就能大幅提高流量、活跃度,关键是能否深度理解用户。
不管是APP,还是微信公众号。起个好名字其实是个很大的考验。
好名字的标准就一个:能否让用户很轻易的识别、理解、传播。对创业公司而言,好名字还要有一个功能:吸引流量。
口袋购物最早叫口袋时尚,不温不火,后来改名为逛淘宝,一下子增加了很多下载,蹭了不好流量。当然,现在在APP上,所有带淘的APP,都可能被淘宝投诉下架。
口袋购物的微信大账号叫口袋小秘书,口袋购物用作防御性账号,就是因为他们做过用户访谈,购物这两个字商业感太重,不够亲切。
过去,起好名字凭的还是感觉,靠用户访谈、用户反馈等手段。能否用上更给力的用户洞察手段,比如数据挖掘。
最近,看到一个案例,感觉很给力,来自《南方都市报》的爆料:
你有想过,只是换了一个App名称,就让下载量直线上升吗?出人意料的效果,但下载量的确从更名前所积累的7万用户,一下子蹿升至更名后一个半月用户数达到30万。
在改名之前,“音阅FM”对于这个App来说,是个中规中矩的名称。因为只要你点开它,就会明白,这是一个将音乐与文字、图片的阅读结合在一起,提供视听双重体验的App。但它的缺点也一目了然,即在进行口碑传播和市场推广的过程中,用户却并不容易理解这款App的意图和使用场景。
同时,作为“被窝音乐”母公司深圳柠檬海科技有限公司CEO的林海也发现,用户使用“音阅FM”有四个高峰期:早晨7点至9点,中午12点-2点,傍晚6点至晚上8点和夜间10点以后。这让林海不禁开始设想,用户究竟是在什么场景下使用这款App。
“早上离开被窝的上班途中,中午午休时间,傍晚回家路上和晚上临睡前。我们的理解是,当城市里的白领们在一天紧张的工作节拍中好不容易找到一小段时间歇一歇时,他们会打开我们的App,让自己慢下来。这正是我们做这个App的初衷。”林海向南都记者这样解释。
于 是,他和“音阅FM”的项目负责人王伟就想出了“被窝音乐”这个听起来极富场景感的新名称和“孤单的被窝,用音乐暖床”这一颇具小清新和慢生活意味的Slogan(标语)。结果,新名称上线仅仅一个半月,用户数就从原先的7万飙升至30万,同时日活跃度也从过去的5%翻番至10%,周活跃度达到50%。
被窝是一个很能激发用户共鸣的词汇,也很性感。但在过去,我们想一个名字耕读靠灵感,在手机上,对用户行为的洞察也能更深,起名字也会更有把握。
微创新就能大幅提高流量、活跃度,关键是能否深度理解用户。
[2] XMPP学习之 Spark+OpenFire服务器的筹建(第1节)
来源: 互联网 发布时间: 2014-02-18
XMPP学习之 Spark+OpenFire服务器的搭建(第1节)
1,先去OpenFire官网下载对应的Openfire和spark软件
网站:http://www.igniterealtime.org/downloads/index.jsp
注:exe为安装版,zip为绿色版,当前演示为安装版
2,安装完成会在桌面上出现如下两个图标。
Spark为我们的客户端
Openfire Server为我们的服务器端
先运行OpenFire Server 出现界面如下,点击Lanuch Admin
1,
2,
3,我使用的是嵌入的,自己可以研究一下标准数据库连接
4,继续下一步
5,
6,
7,点击登录到管理控制台,输入你刚才第5步时输入的密码
8.这样就完成了。
二:运行Spark
1,
2,注册成功后点击Login出现界面如下:刷新用户组,则在OpenFire的服务用户组上也多出来了个用户.
这样初步搭建就成功了。第(2)节 使用Android Smack建立和Spark的通信。
[3] 对图片进展压缩
来源: 互联网 发布时间: 2014-02-18
对图片进行压缩
dataImage = UIImageJPEGRepresentation(imageReadyPost, 1.0);
NSUInteger sizeOrigin = [dataImage length];
NSUInteger sizesizeOriginKB = sizeOrigin / 1024;
// 图片大于500k要先进行压缩
float b = (float)sizesizeOriginKB;
float q = sqrt(a/b);
CGSize sizeImage = [imageReadyPost size];
CGFloat iwidthSmall = sizeImage.width * q;
CGFloat iheightSmall = sizeImage.height * q;
CGSize itemSizeSmall = CGSizeMake(iwidthSmall, iheightSmall);
UIGraphicsBeginImageContext(itemSizeSmall);
CGRect imageRectSmall = CGRectMake(0.0f, 0.0f, itemSizeSmall.width, itemSizeSmall.height);
[imageReadyPost drawInRect:imageRectSmall];
UIImage *SmallImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *dataImageSend = UIImageJPEGRepresentation(SmallImage, 1.0);
dataImage = UIImageJPEGRepresentation(imageReadyPost, 1.0);
NSUInteger sizeOrigin = [dataImage length];
NSUInteger sizesizeOriginKB = sizeOrigin / 1024;
// 图片大于500k要先进行压缩
if (sizesizeOriginKB > 500)
{
float a = 500.00000;float b = (float)sizesizeOriginKB;
float q = sqrt(a/b);
CGSize sizeImage = [imageReadyPost size];
CGFloat iwidthSmall = sizeImage.width * q;
CGFloat iheightSmall = sizeImage.height * q;
CGSize itemSizeSmall = CGSizeMake(iwidthSmall, iheightSmall);
UIGraphicsBeginImageContext(itemSizeSmall);
CGRect imageRectSmall = CGRectMake(0.0f, 0.0f, itemSizeSmall.width, itemSizeSmall.height);
[imageReadyPost drawInRect:imageRectSmall];
UIImage *SmallImage = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
NSData *dataImageSend = UIImageJPEGRepresentation(SmallImage, 1.0);
dataImage = dataImageSend;
}
最后把dataImage发送出去
最新技术文章: