INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Porting  (Read 3459 times)

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 71361
  • Where did I put my teeth?
Porting
« on: August 07, 2013, 10:01:44 am »

We've ported MC to Mac.  Now we're working on Linux.  What's in it for you?  This subject came up on the beta board, so I thought we might talk about it here.

Why are we doing it?  A couple of reasons.  First, it's good for JRiver to broaden our customer base.  Second, the OS world is much more fragmented than it was ten years ago when Windows dominated.  Third, JRiver has cross platform roots.  Our main focus, from 1987 until about 2000, was cross platform.  We had a product called ICE.TCP, which connected Windows and Linux.  In fact the Windows client software was originally on DOS.

Why should you care?  

Matt's first answer was "We'll be in business."  I laughed, but it's true.  We must do it.

It also makes our code more valuable.  It's free of Windows dependencies, so it's much easier to port to any future OS.

We control all our code, so if there's a bug, we can fix it.

In rewriting some of the code, we've also been able to speed it up.

If we can continue to increase our sales significantly, as we have done the last several years, we will be able to hire more talent, and move faster.
Logged

StuckMojo

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 381
  • Change this by choosing profile
Re: Porting
« Reply #1 on: August 07, 2013, 10:55:20 am »

+1 ..........but without loosing focus on quality!
Logged
Lian Li PC-C60B HTPC Case
(Soundgraph Imon Display + Remote Control)
Asus M4A87TD/USB3 + 8GB DDR3
AMD Athlon II X4 605e 4x2,3Ghz (45W TDP)
Onkyo TX-NR906
Teufel System 5 THX Select 2

Vincent Kars

  • Citizen of the Universe
  • *****
  • Posts: 1154
Re: Porting
« Reply #2 on: August 07, 2013, 11:44:08 am »

Jim

Any plans for JRiver on Android?
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 71361
  • Where did I put my teeth?
Re: Porting
« Reply #3 on: August 07, 2013, 02:08:34 pm »

Not yet.  It would probably mean rewriting everything in Java.
Logged

WinoOutWest

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 355
Re: Porting
« Reply #4 on: August 07, 2013, 05:04:35 pm »

+1

Sweet - would love to get my HTPC off of windows!

Logged

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Porting
« Reply #5 on: August 07, 2013, 05:51:42 pm »

Quote
It's free of Windows dependencies, so it's much easier to port to any future OS.

[tease]  Wow I didn't realise you got rid of the dependency for Windows DirectShow!  ;D  It will be an industry first running ROHQ (lav and mad) on Unix and OSX! [/tease]
Logged
JRiver CEO Elect

jmone

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 14267
  • I won! I won!
Re: Porting
« Reply #6 on: August 07, 2013, 05:52:42 pm »

Not yet.  It would probably mean rewriting everything in Java.

Please not a Java code base - I like how MC is nice and quick
Logged
JRiver CEO Elect

ths61

  • World Citizen
  • ***
  • Posts: 161
Re: Porting
« Reply #7 on: August 07, 2013, 06:56:34 pm »

Please not a Java code base - I like how MC is nice and quick

+1, Java is a slug. 

To make Java perform, you need to write everything native and provide a single JNI call to run the native implementation.

Java: "Write Once, Run There".
Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid

sgomes

  • Junior Woodchuck
  • **
  • Posts: 68
Re: Porting
« Reply #8 on: August 09, 2013, 05:44:51 am »

Just want to point out that there is the NDK (Native Development Kit) for Android, which is great for keeping core functionality in C/C++, thus eliminating performance concerns and reducing porting efforts.

You probably would still want to write a custom UI in Java, though.
Logged

lepa

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 1965
Re: Porting
« Reply #9 on: August 10, 2013, 01:03:43 am »

I think there is no need for full MC in android. Better client on the other hand would be most welcome even if it would cost some money. Current Gizmo simply isn't enough.
Logged

sunfire7

  • Citizen of the Universe
  • *****
  • Posts: 550
Re: Porting
« Reply #10 on: August 10, 2013, 02:49:07 am »

Well, the idea of being able to run MC Library Server from a linux based NAS is nice
Logged
Happy licensed MC 15-19 User :)
Mac version early bird
My english is not perfect! My native lang is spanish

Vincent Kars

  • Citizen of the Universe
  • *****
  • Posts: 1154
Re: Porting
« Reply #11 on: August 10, 2013, 02:46:58 pm »

I see all kind of very low cost Android boxes

Attach a DAC and you have your audio server.
This is a fast growing market
Where is JRiver?
Logged

astromo

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2239
Re: Porting
« Reply #12 on: August 10, 2013, 05:11:29 pm »

Our main focus, from 1987 until about 2000, was cross platform.  We had a product called ICE.TCP, which connected Windows and Linux.  In fact the Windows client software was originally on DOS.

Why should you care? 

Matt's first answer was "We'll be in business."  I laughed, but it's true.  We must do it.


Jim

Any plans for JRiver on Android?

From Jim's comment, it's clear that JR are working from their strengths. So a Linux direction for "where to next?" makes eminent sense in terms of speed of delivery and quality of end product.

I love the interest that these kind of initiatives generate. User enthusiasm easily goes beyond developer announcements at any point in time, so I'd caution patience. That said, it's clear that Android is going places:
http://www.eweek.com/mobile/android-apple-lead-smartphone-os-market-share-idc/
http://www.webpronews.com/android-almost-reaches-80-percent-global-market-share-in-q2-2013-08

So, Vincent is asking the right question.
Logged
MC31, Win10 x64, HD-Plex H5 Gen2 Case, HD-Plex 400W Hi-Fi DC-ATX / AC-DC PSU, Gigabyte Z370 ULTRA Gaming 2.0 MoBo, Intel Core i7 8700 CPU, 4x8GB GSkill DDR4 RAM, Schiit Modi Multibit DAC, Freya Pre, Nelson Pass Aleph J DIY Clone, Ascension Timberwolf 8893BSRTL Speakers, BJC 5T00UP cables, DVB-T Tuner HDHR5-4DT

DoubtingThomas

  • Citizen of the Universe
  • *****
  • Posts: 564
Re: Porting
« Reply #13 on: August 10, 2013, 09:10:41 pm »

Please not a Java code base - I like how MC is nice and quick

Yes Java is slower than C++.  However it's the best choice in many business apps... Software talent that can deal with C++ pointers and memory management is more expensive than faster servers.   I switched from all C++ to mostly Java in my final years working before retirement.   The write-once, run anywhere was pretty cool, but I did miss what they removed from C++ (operator overloading and data protection).  I used to promote my skills with C++ memory management and pointers on my resume... oh well... times change.  Java is really an improvement over C++ in that, over the years... I found most developers really never ever did get memory management and pointers.  I was constantly being forced to develop to the lowest common developer.  I was once told to never ever use function pointers, since the rest of the team (when in NJ) couldn't maintain the code.
Logged

ths61

  • World Citizen
  • ***
  • Posts: 161
Re: Porting
« Reply #14 on: August 10, 2013, 11:59:21 pm »

..  Java is really an improvement over C++ in that, ...

Java still can have memory leaks, it hasn't addressed all memory problems.

It also is a lot harder to reliably benchmark because of the underlying layers.  No more counting instructions and clock cycles.
Logged
Main - JRMC31 -> custom ALSA_cdsp -> CamillaDSP(2x8 channel 64-bit FIR convolution) -> 8 channel DAC
Office - JRMC31 -> Asus Xonar Essence STX -> W4S STI-1000 -> Mini-Magnepans
Shop - JRMC31 -> W4S MicroDAC -> Adcom GFA-2535 -> B&W Rock Solid
Pages: [1]   Go Up