The necessity of multi-slice, simultaneous upload/download slices for file transfer over HTTP


In the era of modems, FlashGet was very unique and useful downloader. It sliced original file to download and each FTP session assigned to each slice was downloaded independently and at the same time. It boosted download speed.

In the era of Web, shouldn’t there be a program or HTTP feature like that? Also, Mike Zuckerberg, the CEO of Facebook said that video post will become mainstream soon. However, even the mid service of ISPs like AT&T does’t have sufficient bitrate for live streaming and also for non live, uploading video takes too much time. So, even for ‘Uploading’ side, shouldn’t there be such multi-slice upload feature?

Open letter to Apple


Questions
1. Why didn’t Apple reduce the price of 3.5mm earphone when they announced a lightning earphone? They have the same price, $29.99.
2. Apple suffered decreased sale of Mac. Do they know why their Mac becomes less attractive?
   – No meaningful update for long period of time.

   – No user upgradable memory and storage devices. Why should users pay more up-front after estimating the growth of needs in a few years? Compare prices of memory and SSD/HDDs nowadays on Amazon. Isn’t it better for users to replace memory and storage devices when they need more?

   – By making batteries not replaceable, Apple could use every inch of their internal space for filling up with batteries. But isn’t it better to have standardized battery pack and made it user replaceable? 

  – A few years ago, batteries, memories and storage devices were user-replaceable and it was the best in the industry. Computers are different from phones. Why does Apple people cripple Mac and make it less attractive?
  All of above are why Apple’s Mac becomes less attractive.
3. When they were almost out-of-business, they aggressively accepted X-Windows, Unix ( well.. OS X is.. ) and ‘research market’. They closed price gaps between Mac and PCs although Mac was still more expensive than PCs, the price gap was narrowed noticeably. 

Now, after Apple made a lot of money and put those in their pocket, they started not to care of those. 
4. Nowadays even iPhones have 128GB or 256GB or storage devices. Well, among those 3GB are said to be ‘main memory’ ( for the latest iPhone 7 Plus )

However, take a look at MacBooks. There are MacBook and MacBook Airs with 4GB of RAM and 128GB of SSD. What a shame! Nowadays S/W requirement went up even more, so people need more memory. Then shouldn’t the lowest spec is like 8GB of RAM and 256GB or 512GB of SSD?

And 16GB of RAM with 512GB of SSD model should not be that expensive. Those should be around $1000.

8GB RAM with 256GB SSD should be like around $600 to be competitive.

Now, even MacBook Air reaches sub $2000 when you order 8GB with sufficient storage space for installing Windows. Especially if you consider that this is the era of video, you should pay more to get ample amount of storage space.

So, Apple’s usable low spec started around $1800. What the….
There are 2GB or 4GB machine in the Windows world? So, it is OK to have low spec of MacBooks? No way.

Those Windows machines are for kids. You can’t do serious things with those. I’m pretty sure those are answer to Google’s Chromebooks. Are you in the market?
No way, Apple. Be realistic.

Be aggressive when you are still strong. 

There is no more Steve Jobs to come back to Apple when Apple becomes almost out of business this time. 
Apple, make your products attractive when you are strong. If you try doing that only after Apple is endangered to be gone out of business, it becomes hard to make the company alive.

Difference in screen lock handling between iOS and Android


Most people compares one platform with another platform by specs like how much memory they have, how much higher pixel density their screen have, and so on. Well, that’s one measure for comparing ‘Hardware’ but not for ‘Platform’. Even pundits don’t seem to understand the differences between ‘platform difference’ and ‘hardware difference’.

So, to them Android is same to iOS. But to me, they are whole lot different.

I have an iPad mini 2 and Motorola Moto-X gen 2. I’m a person who are on multi platform from PC era and use them very fluently. I’m actually a S/W engineer on Linux ( and other Unix), Mac and Windows ( and iOS).

People I run into in the US are not really multi platform-savvy developers. They write code in their own style. I’m different. I write Mac code which look like Apple’s code, and Windows code like MS’s code. It’s based on the understanding of different philosophy of such platforms. What’s funny is that interviewers who interviewed me tried to judge me with their own standard, but once I worked with them, I found out that they lack such kind of thing, and they are very obstnate and doesn’t admit that there are better ways to do. Usually they think ‘inside of a box’ rather than ‘outside of a box’. So, that’s why they don’t learn from Apple’s coding style, MS’s coding style, Google’s coding style and so on. There is no one good solution, but there are reasons why things are written such a way especially with APIs they use.

Then.. those people usually are not good at comparing platforms and stick to ‘hardware spec’ based comparison usually. They will not understand what the humanity means when Steve Jobs said Apple understood the technology and the humanity and it’s good at combining them.

It’s that they consider how people think, how people react, how people behave and so on when they use apps.

For example, on a login web page on iOS, if the virtual keyboard pops up, the web page is slided up to prevent the virtual keyboard doesn’t hide ID and password fields. However, on Android, it usually don’t . They don’t care whether the virtual keyboard hides those fields or not. Usually the keyboard is drawn on top of those fields.

Apple cares such thing. So, they put such behavior in the underlying system, not giving the responsiblility to app developers.

How lock screen works shows such differences. On the both Android and iOS, you can set what minutes later it wil lock the screen.

[Fig. 1] Screen Lock setting on iOS

[Fig.2] Screen Lock setting on Android


However, there are differences.

On Android, if you press the power button or don’t do anything, then it wil lock the screen. To access the home screen, you should unlock it.

However, on iOS, it actually wait for the minutes/seconds you choose whether you hit power button or the iDevice goes to sleep mode automatically due to no access for the given duration of time. So, even though you hit the power button to turn off the screen, if you hit it again, you can immediately access the home screen or the front-most app you were using.

If you need more security, then you can lower the time to wait or you can lock it immediately.

Which one is more convenient to use while provide security? It’s iOS, not Android.

Especially when you wear gloves, it’s very inconvenient to use Android.

There are this kind of differences between iOS and Android. If the engineers only compare hardware spec, they can’t close the gap, although it doesn’t mean that they can’t sell Android phones.(Because there are people who don’t see the differences. Do you thin it’s because it’s not inconvenient? Well, if you think so, think again. )

How to make iOS devices more attractive


This is actually a message to Apple. I’m thinking about sending it to Mr. Cook.

Apple is nowdays struggling in global market and it now has lower market share than Android.

Still their profit share is the more than any one else, and probably it’s still more than 90% globally.

However, iPhone/iPad business is not like TV set business. There should be many developers who want to create apps for iOS. If iOS market is decreasing in terms of market share, more and more developers will make their apps for Android not for iOS. Actually this kind of trend is already started. Previously, serious S/W companies or individual developers didn’t consider Android too seriously. They still did by considering the future of Android, which would eventually catch up the status of iOS. Samsung, which takes the biggest chunk from Android phone market, doesn’t necessarily make as much profit as Apple does. The reason is that they even do promotion like “By Galaxy 7, then we will give you free 32″ TV” or “Get Galaxy 7 and get another one for free”. Or even in S.Korea, I have heard that even the flagship phones like Galaxy 7 becomes ‘free phones’ quickly, which is called “Gong-Cha-phone” or “공짜폰’ in Korean.

So, by considering all of that, Apple’s high profiled people, who decide the future plan on how iPhones should be like, and so on, can still think that it’s still good now. But.. think this way. If small drop of water is leaked, a dam can be broken eventually, because the hole will become bigger and bigger and eventually lots of amount of water will flow through the hole.

Recently there was news saying that Apple lost ground in India too.

In China, their home players now take 2nd~4th position in terms of market share.

Also, due to THAAD, which is to be installed in S.Korea, many Chinese people throwing iPhones away or smashing iPhones on streets as street performance. Why? Apple is an American company!

Anyway, in every angle, Apple faces some big challenge.

Then, shouldn’t Apple make their iPhones or iPad more attractive? It’s also true with their Macs. But let’s talk about iOS devices only.

Unlike Samsung and many other Android phones/tablet makers, Apple doesn’t allow two big things.

  • SD card slot
  • Replaceable battery.

So far, we were OK wth this. However, nowadays I see more and more people try to record video with their iPhones or iPads. However, there is one big problem.(Actually two. But let’s say you can always find an outlet for hooking up your power cord. So, the 2nd factor, ‘replaceable battery’ is gone, at least. But still there will be some situation you don’t find such outlet. Then if the internal battery is discharged, then you can’t shoot video anymore. )

Apple people would think “Ah.. you can buy the 128GB model, which is the biggest at this moment. However, I don’t like that idea. People would bought 32GB or 64GB model at first thinking that it’s sufficient. However, they often forget that iOS device is not only for taking photos and videos. They use it for listening to music, podcast, reading books. Also they use apps like Facebook, Twitter. Both of them now started “Live”. For Facebook it’s “Facebook Live” and for Twitter, it’s “Periscope. There is another big guy.. YouTube. What does it mean? They would leave big chunk of cached data. Then, once-thought-sufficient 64GB iPhone or iPad is not sufficient anymore. How about the 128GB model? It’s just matter of time! They now even allow recording 4K video! ( I wonder if it’s meaningful to watch 4K video on small mobile device’s screen or even on TV set. I know, I know. There are 4K TVs. However, does 1080p full HD TVs look bad suddenly? Well, let’s set aside the fact that there are not many 4K content. I don’t know if 4K content will be introduced more and more, or if it would perish like 3D TV and its content. 2K and 4K were made for big silver screen for theaters, not TVs for home. Big screen in most of living room setup makes me dizzy. Ok. There are 50″ 4K TVs which are OK. But isn’t 1080p content look great on 50” TVs? Why 4K? I know that technology evolves without real good use case often. If you are not film maker, shooting 4K video would not be meaningful. Well.. who knows.. 4K TVs becomes more popular in coming years, and people just shoot 4K video without realizing that TVs installed at their home are not so big to get benefit from 4K. )

Here is a photo which shows how much space you need for shooting video. (From http://www.iphonehacks.com/2015/09/iphone-6s-4k-video-space.html )

open the image in a separate window or tab to see in its full size.

Amount of space needed for shooting video

So, for 720p, 60MB for 1 minute. If you are to shoot 1 hour of lecture, it’s 3600MB or roughly 3.6GB.

For 1080p at 30fps, 130MB for 1 minute. Then for 1 hour, 7800MB or roughly 7.8GB.

Nowadays YouTube takes 1080p 60fps video. Then.. 200MB for 1 minute. It’s 12000MB or roughly 12GB.

Do we need to calculate for 4K?

Considering that you would lots of music, podcasts, photos and so on, I doubt if your iPhone would have sufficient free space for taking video, without removing those. Well, nowadays there are some lighting thumb drive with which you can move those data to the external thumb drive. But, you can’t move apps to the drive, especially if you have lots of apps installed. The Leef thumb drive allows to record video on it…. with their own special app. It means, your Camera app from Apple, iMovie would not recognize the video. You have to move them to the internal storage. Although they put marketing slogan like “Expand your iPhone’s memory space.” But it’s false marketing. It’s not for ‘expanding’ but having another separated storage which any iPhone apps can’t recognize without implementing those apps to recognize the Leef thumb drive. So, if your iPhone has 1GB remained as free space and addd 16GB Leef thumb drive, the space you get for video recording is not 17GB but 16GB ( reduced from 16GB if you consider file system formatting. )Also, you can’t move 4GB of video back to iPhone/iPad to edit with iMovie. You would say, “I can move some audio/video files to the external one and have some more free space.” But what if you record in 1080p at 30fps for 1.30 minutes? Or how about recording in 4k?

Eventually, you will fall into the situation I described so far. Also, it’s not fast enough to transfer files. I have heard that a lighting cable is basically an USB cable with a lighting connector. It doesn’t look like the all-in-one cable, the thunderbolt cable, which allows many different protocols like HDMI, ethernet, SATA, USB, and so on can flow. (Wait! It’s not correct. There is a dongle for iDevices for connecting an HDMI cable. Anyway.. ) Whatever underlying protocol it has, it’s slower than internal SD reader circuitry if it has. Test this with your Mac mini or and MacBooks (Air, Pro) with an SD card reader. It’s faster than puttting the card into SD card reader USB device and connect to your Mac through its USB port. (Whether it’s 3.0 or not. ) In a situation like recording a lecture live, copying to a device like Leef thumb driver can be slow. It’s just better to pop out an SD card and inser another spare blank SD card and keep shooting video. Then you have a chance to move the content in the SD card you just pulled out from your phone to a desktop computer or a notebook computer. (This can be one of many reasons people prefer using a camcorder or a camera with video recording feature.( and with external mic.) 

So, in this setup, current iDevices, which don’t provide an SD card slot, has limitation in shooting video. Well, you can say you can use the Leef thumb drive. But again it’s not for ‘expansion’, but for ‘addition’. If there is a built-in SD reader, it will be possible to handle such situation better. As far as I know, Samsung’s Galaxy phones handles an inserted SD card as ‘expanded memory’ or ‘extended memory’. There is a difference between those if you remember IBM XT and AT era. ‘Expanded memory’ means that the added one is now part of the address space of the original one. On the other hand, the ‘Extended memory’ means that the added one is in a separated memory space, but can be switched to use the new memory space. So, it can have the effect of ‘addition of memory space’. But they can be accessed like an additional HDD in a way that apps installed on the machine can access file contents in the additional HDD, which is not possible with current Leef thumb drive. Probably it’s due to sandboxing. However, wouldn’t it be really dangerous create and access files on the added  storage from iMovie, for example? If something else is trying to access the ‘internal folder’ for saving files in iMovie bundle, then it’s a problem.  But if the added storage is marked as ‘public’  and any apps can read and change contents in it, it will be safer. (Hmmm… but there is a still problem. If the file contains a virus  and have a capability to ingest code to or the code is executed from iMovie… )

People with Samsung’s Galaxy phones don’t need to worry about this kind of thing, because they have built-in SD slot, although Android doesn’t have a good video editor for Android phones like iMovie. That’s another issue. But anyway, they can swap SD cards and take those SD cards to their home. then on their PCs or Macs, they can use any video editor to edit those video footages. So, practically there is no problem for not having ‘iMovie’ for Android. I prefer to use my computer than my iPad mini for video editing anyway, if I have to.

So, if Apple people change their mind and decide to add an SD slot for iPhones and iPads, it can be a lot better for video shooters.

Or they can differentiate iPhone and iPad like this. (MacBooks is added for classification, because iPad Pro starts to conflict with MacBook for ‘mobile’ device considering that even 13″ MacBook Air and Pro are not too heavy to carry around. 11″ models? They are even lighter.)

  • iPhone : portable all-around device without good memory expandability. “Portability and simplify is the key of the device.” So, it doesn’t have an SD slot. Anyway video shooter will prefer bigger ‘view finder’, which is the iPad screen.
  • IPad: portable all-around device with good or decent memory expandability for covering more various needs. So, it has an SD slot.
  • MacBook : It doesn’t have the limitation of closed file system of iPad like too restricted sandboxing, no ‘more flexible’ multitasking which can display more than 2 windows from different apps visible at the same time. Also, you can bring up Safari for checking people’s response on YouTube, Facebook, Periscope, to name of the few.

With the addition of an SD card slot, more video shooters would choose iDevices over Android and even still cameras with video record capability and real camcorders. ( for more advanced use, they will prefer camcorders or still cameras still, but at least, under a situation where people just carry one mobile device and happen to shoot video… iDevices will be more suitable. )

How about other users? It’s also good for them! Then can start with a model with lower memory and as their needs grow, their iDevices can grow. 

For Apple? Don’t they manufacture at multiple line based on the memory size even if the same model? Or they can slice times, and they may produce 16GB model from 9:00AM to 12:00 AM, and 32GB models from 1:00 PM to 3:00PM and so on.

However, if they provide a built-in SD slot, there can be only one variation, and they don’t need to worry about what to manufacture more. Also, it’s good for inventory management. Let’s assume that they manufactured 32GB model more than 64GB model. But on the market, actually 64GB model was more popular. As a result, they have a stock of 32GB model which were not sold., while they lack 64GB model to sell. Then they have to change the line to manufacture more of 64GB models while they need to liquidate 32GB models on the market. That’s bad.

So, I think providing an SD slot is good for every participant in the scenario.

Out-of-order ratio? I have heard that generally mobile devices with an SD slot have higher out-of-order ratio than the ones without. So, I have heard that it’s the reason Apple decided to get rid of the SD slot. I doubt if it’s the real reason. Probably the plot to have people to change their phone to thigher ones by paying more $ is the real reason. If it’s true, providing an SD card slot is bad for Apple. But.. who knows. Due to the versatility, more people can buy iPhone over Android phones.

The second factor, replaceable battery , also has the similar situation where it’s better to have a battery replaceable. So, I would not mention it.

iOS 10 beta 3 / Public beta 2에서 바뀐 것


WWDC에서 공식적으로 발표한 것 말고도, 자잘하지만 상당히 사용자에게 중요한 기능이 들어가게 있다.

1. iOS는 Apple의 제품인 바, 카피/컷/페이스트는 Command-C/X/V를 쓰는 게 맞다. 근데 이전 버전에서 갑자기 control을 썼다. 내가 리포트 했던 거. 고쳐졌다.

2. 하드웨어 키보드를 쓸 때, 한글/영문 변환이 빠르다. 이전엔 중간의 이모티콘 키보드를 항상 거여서 글을 쓸 때 불편했다. 이 역시 iOS 8에선 제대로 되었었는데 9에서 이상하게 이모티콘 키보드를 항상 거쳤던 것. 이거 역시 내가 리포트 한 거.

빠르게 누르면 한글과 영문 사이에서 변환되고 천천히 누르면 이모티콘 키보드로도 전환된다. 왜 iOS 9에서 이게 제대로 안되었지?

3. 역시 한글-영문 전환시 (하드웨어 키보드), 빠르게 전환 키를 누르면, 이를테면 한글 상태에서 빠르게 전환기를 누르고 타이핑하면, 전환키 누르고 난 직후의 첫 글자만 영어로 써지고 다시 한글로 변환된다. 하지만 천천히 전환키를 누르면 모드가 완전히 영문 입력 모드로 바뀐다.

처음엔 버그인 줄 알았다. 근데 가만히 쓰다보니 전환키를 누르고 떼는 속도에 따라 ‘순간 변환’ 모드와 ‘완전한 변환 모드’로 바뀐다는 곳을 알았다. 이거 다국어 쓰는 사람들에겐 무척 중요한 변화다.

애플의 디테일이란.. 안드로이드는 이런 거를 고려하지 않지.

하지만 하나 굳이 문제를 짚자면, 아마도 사람들이 버그로 인식할 거라는 점.

4. Lock Screen에서 하드웨어 키보드의 리턴키를 누르면, 홈 버튼을 누른 것 같은 효과가 난다. 예전엔 안그런 거 같은데? 좋아졌다.

즉 리턴키를 누르면 패스포트를 넣는 화면이 나온다. 잊 키보드에서 손 뗄일이 많이 없어졌다.

5. Lock Screen에서 패스 코드를 넣을 때, 하드웨어 숫자 키를 눌러도 된다. (예전에도 이랬었나? 예전엔 아예 키보드 입력을 안받아서 손으로 화면을 눌렀던 거 같은데)

6. 자동 대문자 모드를 꺼도 문장의 첫글자는 대문자로 바꾸는가 같다. 이건 문제. 이를테면 iOS라고 하는 표현을 문장의 첫 단어로 하면 i가 계속 대문자로 바뀐다. 분명 macOS라는 이름도 문제가 될 것. (해결방안 있다. 문자 교체 항목에 등록하면 된다.)