(Cross-posted at Mediafly.com.)
We at Mediafly have a unique perspective on media consumption. We have straddled consumer- and business-targeted media the entire year, and our conversations with customers and peers have given us a unique perspective on what each kind of customer wants. Looking back, our predictions were fairly accurate, though they were made in private.
This year we’d like to change that. Below are Mediafly’s predictions for 2012.
Upgrading from Dentrix 11 to Dentrix G4
Ah, the fun never stops with Dentrix.
As a part of the massive buildout of Forever Dental, we decided to upgrade from our aging Dentrix 11 to Dentrix G4 in order to better facilitate more than doubling the number of workstations that access the server.
A beautiful Saturday afternoon rolls around (one we’ve committed indoors to this upgrade). We met the system requirements, walked through the Ten Installation Tips, and are ready to go. We put the DVD in, cross our fingers, and press “Install Now”.
After clicking ‘Next’ a few times, we are greeted with this.
It reads “Database Conflict. The version of the database does not match the version of the DENTRIX program files”.
Since we had scheduled this upgrade on a Saturday afternoon, Dentrix Support was closed.
We were likely the first callers when Dentrix Support opened Monday morning. After walking through the situation, our tech support rep told us that the issue is due to a couple of missing *.idx or *.dat files in the Dentrix/data directory. We walked through every file that was supposed to be there (approximately 30), and, behold, it turns out that 3 were missing (LCM_Log.dat, LCM_Case.dat, LCM_Def.dat). We would have to use Dentrix 11’s Selective Setup to install _only_ those three files. The good news was that these files related to Lab Case Manager, which was never used in the practice. The bad news was that this might destroy the entire database. After completing the Selective Setup, we were to run Rebuild to rebuild the entire database, the continue with the upgrade.
We started the entire process again at 6PM, after the last patients left and after we backed up the system. Selective Setup completed, Rebuild completed, and the data appeared sound. We then ran G4 installation, and after a tense 20 minutes, it completed successfully.
Or so we thought. Immediately after completion, I launched Appointment Book on the server. Crash. I launched Office Manager. Success. I clicked on Appointment Book from Office Manager. Crash. I wish I took a screenshot of that error that we got, because it was a scary looking one.
At this point the time read 6:58PM (Central time). Dentrix Support closes at 7PM. We called them immediately and thankfully they were open. We spoke to another tech, and learned that Windows Server 2008 R2 does not by default install .NET Framework 3.5.1, and we had to do this manually.
I ran Server Manager and clicked on Features, then Add Feature.
I clicked on the + next to .NET Framework 3.5.1 and clicked the checkbox next to .NET Framework 3.5.1. I specifically did NOT check WCF Activation (as indicated by the Dentrix Support tech).
I clicked Next and finished up the installation.
After completing this, Appointment Book opened successfully.
UPDATE:
Several days after the upgrade, everything seems to be running smoothly.
How to tether your Galaxy Tab (7″) to your Mac OS X
Oh, how resourceful we can become!
Faced with an Internet connection reminiscent of the 56kbps dial-up days while at work, I dove into finding a way to tether the Galaxy Tab 7″ with its unlimited data plan to my Mac OS X (Snow Leopard). It turned out to be easier than I expected.
- Plug your Tab into your Mac.
- On your Tab, navigate to Settings > Wireless and network > Tethering
- Check “USB tethering”
- On your Mac, open System Preferences > Network. You should see SAMSUNG Android in the left.
Select it and choose “Advanced…”. - In Vendor, select Samsung. In Model, select GPRS (GSM/3G). In APN, enter the APN for your Tab. You can find the APN on the tab in Settings > Wireless and network > Mobile networks > Access Point Names. Click OK.
- Back at the main screen, tap Connect. After a few seconds, the status next to SAMSUNG Android should turn green, and the Sent and Received bars should flicker green.
That’s it! Now wasn’t that easy?
Dropbox and Video are not a good fit
(This post is cross-posted on Mediafly’s Blog)
Dropbox is a phenomenal service. Over 25 million users agree. We use the service extensively within Mediafly for file transfer and syncing of non-sensitive files, and it has become a part of our daily production workflow. Most of our partners and customers use Dropbox as well, to shuttle files back and forth with us. In fact, several team members have reached the referral limit because of the number of other users they have brought onto the service.
We have received a question from a few companies that produce a lot of video: “how is Mediafly different than Dropbox?” Specifically, these companies want to distribute pre-production dailies, rough cuts, studio cuts, and more, to their executives, producers and directors.
At a high level, this seems like a great use of the service:
- Installation is easy – users simply need to download the app, sign up with a credit card, and start using.
- Users can download for offline playback
- Publishing consists of a user that has access to the shared folder dropping video into the folder
However, there are a lot of problems with this approach:
- Security: Dropbox has had a fair number of security holes discovered. While most services will have issues that need to be found, addressed, and appropriately apologized for, the approach Dropbox seems to take is “simplicity over security”. They prefer the service to be simple and easy to use, and if necessary security takes a back seat.
- Content security: Dropbox is not built to keep your content secure. Video and documents are stored in exactly the same format that you place them into a Dropbox folder. The only form of device-level security is a four-digit PIN; beyond that, content can be easily retrieved from any rooted or hacked device.
- Speed: Uploading a video to Dropbox’s service is slooooow. Even over fast Wifi connections. Even on paid accounts. The company is clearly limiting bandwidth, in the interest of constraining costs. We have seen speeds as slow as 30kbps. This translates into ~10 hours to upload a 1GB file. The system was not created for speed, and as a result transferring large videos will take a long time.
- Playback: Playing video via Dropbox uses the simplistic progressive download method. High-quality videos buffer constantly, or require a large amount of time to fully download prior to playback. Meanwhile, modern adaptive bitrate technology like HTTP Live Streaming or RTMP is nowhere to be found.
- Control: Dropbox offers rudimentary support for permissions. A folder in a user’s account is fully locked down. That user can share that folder to another Dropbox user. However, say you want to give 3 users read-only permissions to a folder? Or, worse yet, say you have two subfolders that should only be visible for one of your users? None of this is possible with Dropbox, and you are forced to constrain your choices to match the simplicity of the service. Worse yet, since there is no ability to give users “read-only” access, any user with whom you share files can then delete those files!
- Branding: Dropbox’s website and apps are always under Dropbox’s name. There is no opportunity to use your own brand.
Best error message of the week
Vernacular
We offer various different services to our customers.
The phrase various different is one I hear often amongst my coworkers. It doesn’t bother me in the least (unlike, say, irregardless, which to me sounds like chewing with your mouth open). I always assumed that it was a phrase that was isolated to the Mediafly office.
Imagine my surprise when, yesterday, I hear a customer use the phrase various different in conversation. I spent the next minute or so pondering how our phrases spread like viruses throughout our society; most die quickly, a few thrive within small circles, and a handful permeate our culture entirely. I then snapped out of it and continued listening to the customer.
Backing up Dentrix Image 4.5’s database
This is a followup to the earlier post, Migrating Dentrix Image 4.5’s database to another computer. Please see that post to understand how I got here in the first place.
- Main Dentrix 11 and all DXImage files are running on Windows 2008 Server
- DXImage database is running on Windows XP
- We have a 2-disk RAID NAS in our network
- We also subscribe to an offsite backup service, CrashPlan
- With Dentrix’s internal backup. If you dig deep on the server where your image database is housed, you will see a folder called ViperDataBackup. In our case, this is in \Dentrix\DXImage\MSDE\MSSQL$VIPER\Backup\ViperData . This folder grows with two new files each day:
ViperData_db_[date].BAK
ViperData_tlog_[date].TRN
These files seem to represent nightly backups. We use Cobian Backup on the server to copy all files from this directory to the NAS each night. The main issue, as illustrated below, is that I have no idea how to restore from these files currently. - With our own scripts. DXImage database is running on Microsoft SQL Server Embedded, in a database called VIPER. We created a script that essentially backs up the VIPER database each night to a file, then copies that file to the NAS. The two main lines of this script are:
osql -S SERVER2\VIPER -E -i SqlFullBackup.sql
copy /Y /Z /V *.* X:\backup\
where SqlFullBackup.sql is as follows:
BACKUP LOG MASTER WITH TRUNCATE_ONLY
BACKUP LOG MODEL WITH TRUNCATE_ONLY
BACKUP LOG MSDB WITH TRUNCATE_ONLY
BACKUP LOG VIPER WITH TRUNCATE_ONLY
BACKUP DATABASE MASTER TO DISK =’C:\backup\MASTER-nightly-backup.bak’
BACKUP DATABASE MODEL TO DISK =’C:\backup\MODEL-nightly-backup.bak’
BACKUP DATABASE MSDB TO DISK =’C:\backup\MSDB-nightly-backup.bak’
BACKUP DATABASE VIPER TO DISK =’C:\backup\VIPER-nightly-backup.bak’
We then backup the entire contents of this c:\backup directory to the NAS.
How I hate April 1
My morning and late day ritual usually consists of checking email then logging into Google Reader and scanning through RSS feeds to which I subscribe. Given my interests, most of these RSS feeds tend to be technology-oriented in nature.
April 1 invariably ruins this ritual. For some unknown reason, tech news sites and blogs simply love posting fake news articles on April 1, mixed in with their normal articles. They seem to think their audience loves this sort of idiotic bantering. I would link to them, but I don’t want to support this endeavor in the least; you can, however, witness the lunacy on TechCrunch, Slashdot, and even reputable news sites like CNET and NPR. Even sites I normally enjoy specifically for their straightforwardness, like Signal vs. Noise, join the fray, with terribly awkward results.
Come on people, stop the madness.
HTTP Live Streaming and Android
(This post is cross-posted on Mediafly’s Blog.)
Google finalized Android 3.0 (“Honeycomb”)’s SDK only last week. Also last week, Motorola released the Xoom, the first Android 3.0 tablet, and a number of other manufacturers have announced their own Android 3.0 tablets.
One of the key missing features of the Android platform had been the support of HTTP Live Streaming (also known as HLS). HLS is a media streaming protocol that has been made popular by Apple. Apple rolled out the requirement that any app streaming over cellular networks must do so using HTTP Live Streaming about a year ago, and this change has resulted in a dramatic adoption of HLS by video distributors.
With Android 3.0, Google has taken steps to close that gap. From the Android 3.0 Platform Highlights page: “The media framework supports most of the HTTP Live streaming specification, including adaptive bit rate.”
Despite the “most” disclaimer, this is a major step forward for video delivery to the Android platform. HLS is a relatively simple streaming protocol that enables:
- Dynamic bitrate switching: if you drop into a network with lower bandwidth, your video stream will gracefully switch to the lower quality stream. Conversely, if you switch to a higher bandwidth network, your player will adjust to use a higher quality stream.
- Support for open implementations: HLS has been submitted to the IETF as a proposed Internet standard.
Scalability: HLS streams (particularly for on-demand content) can be powered purely by a web server. This means that HLS can make use of all of the recent advancements in caching and scaling that web servers have built over the years.
Currently, the only support for a live streaming technology in Android has been through Adobe Flash Player and RTMP. This has proven very challenging to integrate, because:
- At $4,500, Flash Media Server is not cheap. HLS technology is included with every installation of OS X.
- Flash Media Server does not scale as well as HLS out of the box. As mentioned above, HLS can be powered purely by a web server. RTMP, however, requires a proprietary server that keeps active connections open in order to maintain connections to clients.
- Flash Player on Android only works when surrounded by the browser. This means that, as a developer, you must embed a WebView, and within that the Flash Player will operate. This additional overhead is enough to bring resource-limited phones to their knees.
- While great improvements have taken place, Flash Player on Android remains buggy. Mediafly has taken steps to ensure its Flash Player apps and RTMP streams work smoothly over Android, but not everyone has.
If you are interested in learning more about HTTP Live Streaming, Flash, and Mediafly’s business media delivery offerings, please contact us.
Notes on Buenos Aires
We recently completed a wonderful trip to Argentina, consisting of 5 days in Buenos Aires and 5 days in Patagonia. In Buenos Aires, we walked a lot, and over that time I developed a few insights about Porteños (what BA residents call themselves) and Buenos Aires in general.
- Look around on most busy streets, and you will find Porteños waiting patiently in single file lines for a remise (bus).
- The sidewalks are horrendous. I almost bit cement multiple times.
- Walking during hot weather requires an umbrella. Without it, you are constantly getting dripped on by air conditioner juice.
- Drinking mate is not just a stereotype, or something only elderly people do. It really is a national drink.
Overall, the trip was wonderful. We had a great time.