TechRamble.net

Tuesday, February 09, 2016

Inspired when listening to Ctrl-Walt-Delete podcast titled "Walt and Nilay worry about Apple", I decided to speculate on a future without iTunes, and as a result, OS X. Before I dive into this, I must disclose that, as of October 2014, I own an iPhone 6 Plus, an iPad 3, a retina Macbook Pro, an iPod Touch 4, and a 2006 Macbook Pro. This transition into the iTunes ecosystem took place over 10 years; initially, I bought the Macbook Pro in 2006 to enter a world I had been removed from since I was a child (Macintosh LC II and OS 7). I loved the Unix core of OS X, and the transition to Intel finally won me back, as OS X was more powerful and open than Windows.

I had also been interested in the iPod revolution, but the device that truly struck my eye was the iPhone. Aside from being exclusive to AT&T for many years, the other factor that had kept me away from the iPhone was the closed platform of iOS and how tightly coupled it was to iTunes. Coming from Handspring and the Palm Treo, I was not interested in becoming dependent on another "Palm Desktop". When I did finally purchase my first iOS device, the iPod Touch 4, my goal was to keep iTunes out of my music as much as possible. I added all of my music using a read-only mount and opted to manually manage the content in my library. This does add an extra step when importing new music to the iPod, but I was able to keep things independent and use the iPod for what it does best, play music and run apps. When I brought the iPad into the mix a year later, I replicated my setup with the iPod, using iPhoto to synchronize events to the device. I would continue to locally backup both the iPod and iPad, but I did begin to use iCloud when it became available on the iPad. When I finally went to the iPhone, I was able to replicate my setup with my iPad, again relying on iTunes to backup the device. However, the app syncing in iTunes sometimes replicates apps that I do not want on either my iPad, iPhone, or iPod, and I was no longer using iTunes or iPhoto to synchronize content to my devices (with the rare exception of the iPod, which remains in my car and syncs maybe once a year).

Therefore, iTunes has become a device backup management platform similar to Palm Desktop, despite my efforts to avoid this. Yes, I still use iCloud to backup my iPad and iPhone, but I also like having a local backup when a full restore is needed (which has happened to me on the iPad a couple of times). This function should be integrated in OS X; now that OS X is responsible for iCloud syncing, it should also be responsible for my iOS devices when I attach and sync them to my computer. As pointed out by Nilay and Walt in the podcast, the role of iTunes should return to being solely a content store, perhaps even being demoted to a backend service that could be integrated into future apps for the desktop such as Apple Music and Apple TV. Ultimately, I should be able to go to OS X Settings -> Device Management, and access my backups and any other syncing settings from there. At this point, it is up to Apple to finally make this a reality in the next version of OS X and break up iTunes so that we can all finally break up with iTunes.

Tuesday, November 17, 2015

Google no longer goes under the mantra "Don't be Evil". The new slogan is "Do the Right Thing" and its new parent, Alphabet, incorporates Google, Nest, Fiber, Ventures, Calico and Capital into a modern corporate structure that allows for many sub-corporations or LLCs under one umbrella, limiting the risk of a sub-corporation causing the entire company to fail.

To decode the Alphabet of the future, I'll take the time to go through a fun childhood exercise, fill in the Alphabet!

One area not covered above is Google Now. I would argue that Google Now is Alphabet; that is, when Google improves its natural language user interface ("OK Google" assistant), it will be able to tie all components of Alphabet into one, becoming the Babelfish of technology and controlling everything from your thermostat to your television, your phone and your email, and eventually your car. So let's embrace the Alphabet (as many of us have already embraced Google) as this is the next wave of technology modernizing our lives.

Sunday, January 27, 2013

Rapid development in the smartphone space can be summed up with a single observation. It took the AMD Athlon 6 years to move from single to dual cores, followed 2 years later with quad cores; in comparison, ARM SOCs moved from single to dual to quad cores in 2 years time.

The phone comfortably sitting in my pocket packs a quad-core SOC clocked at 1.6GHz with 2GB of RAM. This is mind-boggling to me, particularly considering that a budget AMD laptop (sub-$300), a Lenovo powered by the E1-1200 and also with 2GB of RAM, runs at the same clock frequency. Both the AMD Bobcat and Cortex-A9 MPCore architectures are dual-issue, out-of-order processors; the AMD is 64-bit and is a bit more complex with a 16-stage pipeline (vs. 9-stage with the A9), and the AMD incorporates a much more powerful GPU (HD 7310 vs. ARM's Mali-400MP). It would be interesting to compare the computing and graphics performance of the two processors; Windows RT and Ubuntu OS's phone push may make this a reality (let's go, Anandtech!).

Having sported both the HTC Evo 3D and HP Pre 3 during the past two years, I was really looking forward to a powerful smartphone that incorporates the app ecosystem of Android with a smooth and well designed device, and the Galaxy Note 2 fits that bill brilliantly. Android 4.1 (Jellybean) was the first release that Matias Duarte, the head UI designer of WebOS, was able to influence from top to bottom. Although on the surface Jellybean is very much Ice Cream Sandwich with font and icon tweaks, under the hood it is a sea change; Jellybean finally brings Android to a level playing field with Apple's iOS. The fit and polish of the device, from the slightly rounded edges to the home button and hidden back and menu keys, makes it feel great all around. Samsung also includes a Wacom-based digitized stylus, which brings back precise note taking and drawing on a capactive screen in a seamless way. TouchWiz seems much faster and less intrusive than HTC Sense; the shortcuts to control device features (including brightness) can be found in the dashboard, and all controls are very responsive. It does not enable support landscape viewing of the home screen, but Ultimate Rotation Control brings a true auto rotate to the home and lock screens with no perceivable overhead and no interaction after initial setup.

This write-up would not be complete without a mention of Palm Touchstone support. The WebOS community, upon discovering the simplicity of this modification, has taken the coils and magnets from old Pre back covers and attached them to modern smartphones, including the Galaxy S3 and Galaxy Nexus. I did not feel inspired to mod the Evo 3D to support the Touchstone, but the Galaxy Note 2 in landscape on a dock, of which I have several, seemed like a perfect fit. Due to owning the U.S. Cellular version of this phone, I did not have the exposed contacts that I needed to make the modification without voiding my warranty, but I did attach the magnetic back to the cover.

In the car and on my nightstand, I place the Note 2 on the dock in landscape mode (after repositioning and centering the magnets), using CarHome Ultra and Inglorious Apps Dock, respectively, in each configuration. I've already ordered a pack of Samsung TecTiles that I plan to place in each environment to preload these apps and appropriate settings.

LTE on U.S. Cellular has been outstanding in Wisconsin. I've been able to stream podcasts without interruptions while driving between Madison, Port Washington, and Milwaukee, with top speeds of 20 mbits/sec and average close to 10. The unlimited LTE data option, currently available through March 31, is well worth the expense; in fact, I am contemplating adding the $20 a month hotspot option in place of the Verizon LTE prepaid plan on the iPad. The Google Voice widget makes it very easy to respond to text messages, and SynerGV is useful for placing calls during the day to avoid using minutes. With the reliable data connection, I have not found a need to use text messaging directly from the phone.

Less than two years ago, I switched from the Palm Pre to the HTC Evo 3D on Sprint. I had intended on writing about my experience, but having to use Gingerbread for far too long (it took over a year for Sprint and HTC to release Ice Cream Sandwich), my experience with Sense and sub-par performance (in spite of the dual-core Qualcomm Adreno 220) has kept me from providing an honest review. Things improved once Sprint replaced my faulty screen digitizer, but the slow network and lack of WiMax peaked my tolerance, prompting me to break my contract 5 months early. The Evo 3D will continue to be useful as a test device, especially with 3D HDMI support, but I may have to switch to CyanogenMod in the future to try a stock build of Jellybean once it is stable for this model.

I can honestly say that I am comfortable relying on the Note 2 as my daily driver. The Palm Pre 3 will be useful when I travel abroad, but I no longer find the need to use it alongside Android; the HP TouchPad is sufficient for my WebOS and Linux needs. Google Now seems useful, and I hope U.S. Cellular and Samsung will keep up with updates so that I can try out DayDream, Android's equivalent to WebOS Exhibition, introduced in v4.2. For those interested in Samsung TecTile (NFC) compatibility with Touchstone, stay tuned (and follow techramble on Twitter).

Update 1: Forgot to mention, I wish there were a non-root way to enable to soft on-screen back and menu keys, as the hardware capacitive touch keys do not function with the stylus. I wonder if Samsung will rectify this in an update, at least while using the stylus.

Sunday, August 26, 2012

The clock is ticking for RIM, and although they still have money in the bank, the postponed release of Blackberry OS 10 into 2013 does not bode well for the platform. The Blackberry Playbook provides a development platform for applications that could run on Blackberry v10 phones, but with Microsoft contending in the phone and tablet market with Windows 8, it will be difficult for developers to justify work on another proprietary platform.

The Android App Player that runs on the Blackberry Playbook OS 2 is a good option for users looking to RIM for a secure enterprise platform but wanting access to a more diverse application catalog that Android provides. The jailed approach also ensures that the Dalvik engine, the foundation of Android, remains a truly isolated process from core functions of the Blackberry OS, which is beneficial from both security and reliability standpoints.

Being the only remaining player relying on a closed source RTOS at the core of RIM's phones, a significant effort is required to develop and support the Blackberry OS. Bringing in the QNX core and team is not sufficient to meet the demands of the phone market for rapid iteration of high-end hardware. The case can be made to continue developing QNX for Blackberry phones, but user-level applications do not need to be so closely tied to the Blackberry OS.

Given that the QNX team has demonstrated the ability for the Blackberry Playbook OS to run Android's Dalvik engine, what prevents RIM from running Android on their phones? With dual-core being the defacto minimum specs for a modern smartphone, RIM can run both the Blackberry and Android OS's with minimal to no impact to performance. This would allow RIM to focus on what they do best, which is providing a secure and reliable platform for users, while also providing access to the Android ecosystem.

In order to deliver the experience necessary to compete with core Android phones, RIM will also have to create a reverse skin for Android. There is no need for Android to run in a separate, single app container; instead, each app should be displayed as native as possible. This would accomplish one major feat that all other Android OEMs cannot: fork and present running Android apps as separate windows, providing a user-friendly approach to Android multitasking without taking away from the Android experience. The Dalvik engine can still suspend applications when the system is running low on RAM or an app hasn't been accessed in some time, but the user can have more control over how an app runs. Additionally, the core primarily running Android apps can be put to sleep when the device is not in use, and the Blackberry core can maintain system state and provide the secure and reliable phone and data services that users expect, without compromising battery life.

The advantage that both RIM and Palm had with physical keyboards was their ability to develop a UI around the keyboard, not the other way around. Having features such as Just Type in WebOS provides the user the option to type a search query or email response without having to wait for the UI to respond. A Google or Apple search on touchscreen devices require time for a tap on a button or search bar and a soft keyboard to appear before the query can be entered, and a physical keyboard is far more efficient for this action.

By having RIM focus on developing the hardware and core software, Amazon can focus on delivering the content on Android phones through a major phone vendor, and this RIM + Amazon partnership can truly produce a real alternative to Apple, Google, and Microsoft. This could be the phone to replace BlackBerry as we know it today while continuing to provide many of the features many of us long for in a phone. What better way to keep pace with Android development than to fully integrate the engine in a RIM device.

Monday, May 21, 2012

Bluetooth is ubiquitous and works well with WebOS, so why would I want to stream using WiFi headphones? That is the question I might expect a common reader to have, and my response is simple: WiFi is everywhere. The Internet is the modern delivery mechanism for music; this has been established with iTunes, Amazon, Pandora, and Spotify at the forefront. If music is arriving from the Internet, why not connect directly to the source using your headphones?

Koss recently launched a WiFi music platform called Striva, the portal of which is found at myKoss.com. The website allows for the definition of music channels and the configuration of hardware. The Striva Pro, Koss's first WiFi headphone to hit the market, can connect to any predefined WiFi APs (such as a home network, a mobile hotspot, and a work network), and it will also connect to any truly open WiFi AP (like those sometimes found at your local coffee shop). When connected to a WiFi AP, the music playing on the headphones is displayed and can be controlled via myKoss. A custom channel and stream can also be added as long as it is an Icecast or Shoutcast stream (pls and IP:PORT both accepted). This is how I am able to listen to my music at home, since I am using mpd (Music Player Daemon) and icecast2 for streaming.

Since WebOS is based on Linux, only a few steps are required to properly configure your HP TouchPad or Palm Pre to stream music, audiobooks, and podcasts directly without using a Koss CAP (Content Access Point). I decided to use a chrooted Ubuntu filesystem for ease of setup and access to a UI for music control. I have a 2GB img file in /media/internal that I mount to /media/ext3fs, but for the basic set of instructions refer to this WebOS-Internals page.

Once you have XTerm and the UbuntuChroot installed and configured, you can use Xecutah to launch a terminal in both workspaces. Note: the following Linux configuration may also work on Android or jailbroken iOS with minor tweaks.

WebOS IP Configuration
Before we can setup mpd and icecast2 to play and stream music, respectively, it is advantageous to have a dynamic DNS, and port forwarding must be setup for the music to flow via WiFi. I am using a free account from Dynamic DNS and the utility ez-ipupdate, available via Preware/Optware.

In order to update the dynamic DNS with the WiFi IP, the interface parameter found in /opt/etc/ez-ipupdate.conf must be set to 'eth0'. The script '09update-ddns' should be placed in /etc/network/if-up.d/ to ensure that it is executed when a new WiFi connection is established. Note: I have seen this work on WebOS 3.x, but I have to manually execute the script to update on 2.x.

Finally, IP port forwarding must be enabled for the icecast2 (default: 8000) and mpd (default: 6600) ports. I created the following script in /etc/init.d/mpd_server.sh to configure iptables:

MPD/Icecast Configuration
Within the Ubuntu chroot, as user 'root', execute the following commands:

'apt get mpd'
'apt get icecast2'
'apt get lame'

To configure mpd to output to icecast2 by default, open /etc/mpd.conf comment out the default 'audio_output' and uncomment the default "shout output". I set my 'mount' to '/mpd.mp3', commented out 'bitrate' and added a line for 'quality' set to '5.0'. The 'password', 'name', and 'description' can also be set to preference. Also, you will need to comment out 'bind_to_address' to allow control from an external network.

To configure icecast2, open /etc/icecast2/icecast.xml and modify the passwords to match that set in mpd.conf.

Add Music and Start Streaming
The default music location is /var/lib/mpd. In order to gain access to your mp3s, the chroot bind needs to be defined for /media/internal.

Start by creating the mount point in the ext3 partition.

'mkdir -p /media/ext3fs/ubuntu-natty-chroot/internal'

Modify /media/cryptofs/apps/usr/palm/applications/org.webosinternals.ubuntu-natty-chroot/bin/chroot-wrapper.sh and add the following:

This will automatically bind the /media/internal partition to /internal within the Ubuntu chroot. Add the music directories you would like to index as a soft link within /var/lib/mpd/music/:

'ln -s /internal/HPMusic /var/lib/mpd/music/HPMusic'

Within the Ubuntu chroot terminal, start the icecast2 process followed by the mpd process.

'/etc/init.d/icecast2 start'
'/etc/init.d/mpd start'

To update the Dynamic DNS IP and enable port forwarding, execute the following from within XTerm:

'/etc/init.d/mpd_server.sh'
'/etc/network/if-up.d/09update-ddns'

Finally, to setup and control music through mpd, install one or both of the following clients within the Ubuntu chroot:

'apt-get install mpc'
'apt-get install sonata'

Music Control
To update the music database, execute the following command within the Ubuntu chroot:

'mpc update'

To add your entire music collection to the current playlist:

'mpc listall | mpc add'

And finally, to start playing music:

'mpc play'

Custom Stream
Add a custom stream using the dynamic DNS and port number to your myKoss account.

e.g. 'http://icecast.dyndns.org:8000/mpd.mp3'

Select this stream, ensure that the chroot card is focused on WebOS, and power-up the Koss Striva Pro. If everything is configured properly, the headphones will start streaming from your TouchPad or Pre.

Pulse Audio
I was not able to make use of the icecast plugin for pulse audio on the TouchPad. If anyone is able to make any progress on this, please feel free to comment or message me and I will add the details in a future post.

Conclusion
The Koss Striva WiFi platform enables high quality audio streaming directly from your home server and mobile device. While Bluetooth is quick and easy to setup, it does not provide a high quality audio streaming experience (A2DP is equivalent to a 96kbps stream, while the Lame encoder is capable of CD quality at VBR or 320kbps settings). This demonstrates that it is possible for a Linux configuration to stream directly to the headphones. While apps on the PC and mobile devices will provide this capability to the common user with no command-line configuration, this demonstrates how powerful of a platform Striva is. The revolution is truly in the air!

Tuesday, February 14, 2012

Sunday, November 27, 2011

We have now reached the point of no return: after returning to its parent company 3com/HP, the original Palm hardware group has been assimilated and Palm is no more. They were given one final run, producing the TouchPad in under 1 year and providing the Pre line with hardware it deserved with the Veer and Pre^3; however, it was too little, too late. Ultimately, what HP did was keep Palm alive long enough to finally produce the tablet the WebOS faithful have been waiting for; had this tablet been introduced at CES along with the Pre^3 and Touch-to-Share in 2009 (or subsequently followed the "Pre"release, Pixi, and Apple's iPad), the original buzz generated from CES 2009 may have carried on and made WebOS a definitive third in the mobile OS race. Instead, Palm failed to attract the attention (and sales) needed to provide WebOS with enough traction to compete on its own, and by the time the funding was available to produce arguably the first great hardware to run WebOS (circa 2011), iOS and Android have finally picked up on many of the features that makes WebOS great: more flexible and non-intrusive notifications, gestures, better multitasking support, synergy, and a cloud-based profile and backup.

The great software that has kept Palm alive is now all that remains. Back in April of 2010 I authored a post speculating on hardware companies that could acquire Palm and benefit from and produce great hardware for WebOS (HP was missing from my list ;-). Now, the question that remains is, who will truly benefit from WebOS as a software (and application) platform? Out of the many rumoured companies interested at this point, I will pick 4.

Amazon.com - One of the four modern computing titans, and the only without an OS to call its own. Amazon was the first to recognize that as a sales-centric company, as more and more content goes digital, it would need a platform of its own to deliver this content. The Kindle was the first such platform, which began with ebooks (currently surpassing paperback sales) and continues with apps, music, and video on the Fire.

The Kindle Fire runs a heavily customized Android 2.3 skin, but the Amazon App Store has been around for over 6 months and provides access to over 8500 apps. By contrast, the HP TouchPad has over 5500 apps, many of which came from the Pre, which has been around for over 2 years. For the current launch (and the 2011 holiday market), a $200 7" Android-based tablet will fare well. However, relying on the Android platform and essentially forking 2.3 may not be a good longterm strategy, especially considering the app fragmentation that will result once 4.0 (Ice Cream Sandwich) is widely deployed.

Amazon has already shown a desire to have a strong presence in the cloud computing market, launching EC2 in 2006 well before Google's App Engine was introduced in 2008. The Silk browser on the Fire is another example of Amazon's push onto using the Web as an application engine. If Amazon were to acquire WebOS from HP, the next iteration of WebOS could be the platform for applications running and data stored in the cloud. Google's Chrome OS has already taken that next step, replicating WebOS by providing a web-based app platform and using the user login to sync apps and bookmarks, making the hardware a dummy terminal for the platform.

Amazon has also proven that the digital content you purchase is intended to be OS and device independent; Kindle books are available on iOS, WebOS, Android, and in any browser. The web applications already developed for WebOS are not restricted to a specific architecture (e.g. ARM or x86); theoretically, any non-PDK application (and ported PDK application) can also run within a browser. If Amazon were to purchase WebOS, not only would it gain a Linux-based UI that it could expand for a future Kindle Fire (and other portable media consumption devices), but also an App Catalog and WebOS profile that could be made accessible on any PC and mobile device. Imagine browsing the Amazon store through the lens of an application like the App Catalog on the TouchPad; Pivot is a great sales tool that can be utilized by Amazon.com to further sales similar to a weekly flyer, and each item can be previewed (video, photos, and reviews), saved to the cart or wish list, and purchased from a mobile device with ease.

Adobe - Flash is DOA on mobile devices, Steve Jobs decries, and Adobe's Web stronghold (acquired from Macromedia in 2005) begins its demise. Steve Jobs took Flash to the grave, leaving us with HTML5, an open standard to multimedia on the web. Originally pushed by WebKit (which powers Android/Chrome, Safari, and WebOS), Adobe acknowledges that future applications will be based on HTML5, with native applications for mobile devices (and Adobe Air on the desktop) filling in the gaps. With Flash dead, Adobe needs to resurrect itself in a significant way, and what better way than with WebOS. Adobe can quickly take WebOS applications to the desktop and mobile thanks to Enyo, further develop Ares and support developers and the multi-platform SDK, and advance the PDK to allow for native development on more platforms.

Adobe would also gain users and the WebOS profile, which can be combined with the Adobe login to support the syncing of epubs and build in support to borrow books from libraries directly from a tablet.

Intel - With Nokia dropping active development of Meego and the ARM-dominated mobile device market threatening the x86 business model, Intel may be looking for a new boost to its mobile presence. Intel already has the expertise gained from developing Meego for x86; combined with the UI and application framework from WebOS, it has the potential to finally combine performance and features to its mobile offerings to compete with Android and iOS on ARM. Aside from making WebOS available to all PC OEMs as a light alternative to loading up Windows, Intel has the potential to form partnerships with HP, Samsung, LG, and Lenevo to further push WebOS on x86-based tablets.

Qualcomm - The big launch partner for the 2011 HP WebOS devices, WebOS is already running on Qualcomm CPUs and can be further developed and pushed to mobile OEMs (HTC, Samsung, LG) to expand the adoption of its ARM chips (and provide patent licensing to protect new entrants). Ultimately this would be a competitive move to prevent Intel from gaining from WebOS on x86 and further the dominance of ARM.

Full disclosure: my preference is Amazon for the future parent of WebOS; I just see a lot more potential than with the other 3 options. Opera would be a great alternative to Amazon, but it doesn't have the resources to be able to go far with WebOS. Adobe is the most practical home for WebOS, as the development resources have already started focusing on getting applications to work on any PC or mobile device, and Adobe could use an HTML5-based web platform. Intel and Qualcomm may result in more hardware running WebOS, but it is a larger risk and will likely take a significant amount of resources to make WebOS a strong alternative to iOS, Android, and Windows. At this point, the only potential for HP to reinvest in WebOS is as a non-exclusive OEM; the actions taken by the company in the past few months have significantly reduced the value for HP-owned WebOS.