World Library  
Flag as Inappropriate
Email this Article
 

Veoh

Veoh
Web address http://veoh.com
Type of site
Video distribution
Registration Free
Owner Jon Goldman, Chief Executive Officer[1]
Created by Dr. Ted Dunning
Current status Acquired by Qlipso[2]

Veoh is an Internet television company based in San Diego, California. It allows users to find and watch major studio content, independent productions and user-generated material.[3][4] The company is a subsidiary of Israeli start-up Qlipso.[5]

The company received media attention[6] after Michael Eisner, a former Disney chairman, joined the board. In April 2006, he was one of the investors (along with Time Warner) in the US$12.5 million second round of financing for Veoh and re-affirmed his status in August 2007 as an investor in the company's US$25 million Series C financing round.

In 2008, the website veoh.com attracted approximately 17 million unique visitors monthly according to a Quantcast.com study.[7]

On February 11, 2010, in an open letter published on his blog, company founder and former CEO, Dmitry Shapiro, indicated that "the distraction of the legal battles, and the challenges of the broader macro-economic climate have led to our Chapter 7 bankruptcy."[8] On April 7, 2010, it was announced that Israeli start-up company Qlipso acquired Veoh for an undisclosed sum. Qlipso aims to use the acquisition to add users and revenue to its multi-user content sharing service.[9]

Included with recent installations of Veoh is a program called OpenCandy, which some security programs, including Microsoft Security Essentials, classify as adware.[10] It also installs Delta Search, setting all the user's browsers to use an ad and tracking-loaded search engine without prompting for user confirmation.

Contents

  • History 1
  • Viewing options 2
  • Publishing videos 3
  • Technology 4
    • Recommendations Engine 4.1
  • Blocked countries 5
  • Legal issues 6
  • See also 7
  • References 8
  • External links 9

History

Veoh was founded by Dmitry Shapiro. The company launched an early version of its distribution technology in September 2005 and debuted its full beta service in March 2006. Veoh officially launched (out of beta) in February 2007.[11] Veoh has raised about US$70 million from venture capital and media investors. Time Warner, Michael Eisner's Tornante Company, Spark Capital, Shelter Capital Partners, Tom Freston's Firefly3 LLC, Jonathan Dolgen (former chairman of Viacom Entertainment Group), Intel, and Goldman Sachs are all major investors.

In addition to the user-generated content that Veoh broadcasts, Veoh has distributed content from major media companies including CBS, ABC, The WB, Viacom's MTV Networks, ESPN, FEARNet, Billboard, Ford Models, US Weekly, TV Guide, and others. Independent creators found on Veoh include NextNewNetworks, 60 Frames, Can We Do That?, Goodnight Burbank, and Dave and Tom.

In a controversial move, Veoh made its service unavailable to most markets (Africa, Asia, Central and South America, Central and Eastern Europe) in May 2008.

In January 2009, Veoh announced a new site including support for iPhone/iPod Touch and the Veoh Video Compass. Upon introduction, some controversy arose over the lack of friends lists, mail services, as well as some video inforequire('Module:No globals')

local p = {}

-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }

-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }

-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }

-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }

local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }

function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil

        local t1 = false -- whether traditional Chinese characters go first
        local j1 = false -- whether Cantonese Romanisations go first
        local testChar
        if (args["first"]) then
                 for testChar in mw.ustring.gmatch(args["first"], "%a+") do
          if (testChar == "t") then
           t1 = true
           end
          if (testChar == "j") then
           j1 = true
           end
         end
        end
        if (t1 == false) then
         local title = mw.title.getCurrentTitle()
         t1 = t1st[title.text] == true
        end

-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(.

In April 2009, following layoffs in November 2008, Veoh reduced its staff by 25 more to 45 remaining employees and reinstated Dmitry Shapiro as its CEO, replacing Steve Mitgang.[12] On February 11, 2010, it was reported that Veoh had laid off most of its remaining staff and is currently in the process of filing for Chapter 7 Bankruptcy.[13]

Viewing options

Veoh offers two viewing options. The Veoh.com site allows viewers to watch streaming web video from across the Web including via their iPhone, iPad, or iPod touch. Although somewhat like YouTube, Veoh.com offers a broader selection of network television content and allows viewers to watch full episodes of TV shows and full-length movies. Veoh.com hosts a range of programming, from user generated content to studio content.

TV shows are exclusively available for the United States.

Veoh also provided a software application, VeohTV Beta, that enabled "lean back" and remote controllable viewing of web content. In December 2008 Veoh transitioned from VeohTV to the Veoh Web Player. Veoh restricts users from playing full-length videos on Veoh.com, unless the Veoh Web Player is installed within their browser. The player also enables users to download video from Veoh.com and other websites.[14] Veoh Web player comes with Veoh Video compass, many times full versions of the show are not available directly on the website and instead are only offered to those who have downloaded and use their software to access the content.

Publishing videos

Publishers can use their PC to upload videos for distribution. Veoh transcodes the video file so the video is available on Veoh.com, streamed on the publisher's own web site, and in portable devices like iPhones, iPod Touches, iPods and Sony PSPs. Publishers are able to customize the presentation of their content, automatically publish via RSS feeds, and organize video programming into episodic series or complete channels.

Technology

Veoh uses both peer-to-peer (for its player software application) and Adobe Flash-based streaming video (for its website) technologies. Veoh claims its use of peer-to-peer in the player application enables distribution of longer form video files at a much lower cost. It also means that bandwidth costs will not rise in direct proportion to the number of users. Veoh systems use LAMP and Java.require('Module:No globals')

local p = {}

-- articles in which traditional Chinese preceeds simplified Chinese local t1st = { ["228 Incident"] = true, ["Chinese calendar"] = true, ["Lippo Centre, Hong Kong"] = true, ["Republic of China"] = true, ["Republic of China at the 1924 Summer Olympics"] = true, ["Taiwan"] = true, ["Taiwan (island)"] = true, ["Taiwan Province"] = true, ["Wei Boyang"] = true, }

-- the labels for each part local labels = { ["c"] = "Chinese", ["s"] = "simplified Chinese", ["t"] = "traditional Chinese", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Cantonese Yale", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Zhuyin Fuhao", ["l"] = "literally", }

-- article titles for wikilinks for each part local wlinks = { ["c"] = "Chinese language", ["s"] = "simplified Chinese characters", ["t"] = "traditional Chinese characters", ["p"] = "pinyin", ["tp"] = "Tongyong Pinyin", ["w"] = "Wade–Giles", ["j"] = "Jyutping", ["cy"] = "Yale romanization of Cantonese", ["poj"] = "Pe̍h-ōe-jī", ["zhu"] = "Bopomofo", }

-- for those parts which are to be treated as languages their ISO code local ISOlang = { ["c"] = "zh", ["t"] = "zh-Hant", ["s"] = "zh-Hans", ["p"] = "zh-Latn-pinyin", ["tp"] = "zh-Latn", ["w"] = "zh-Latn-wadegile", ["j"] = "yue-jyutping", ["cy"] = "yue", ["poj"] = "hak", ["zhu"] = "zh-Bopo", }

local italic = { ["p"] = true, ["tp"] = true, ["w"] = true, ["j"] = true, ["cy"] = true, ["poj"] = true, } -- Categories for different kinds of Chinese text local cats = { ["c"] = "", ["s"] = "", ["t"] = "", }

function p.Zh(frame) -- load arguments module to simplify handling of args local getArgs = require('Module:Arguments').getArgs local args = getArgs(frame) return p._Zh(args) end function p._Zh(args) local uselinks = not (args["links"] == "no") -- whether to add links local uselabels = not (args["labels"] == "no") -- whether to have labels local capfirst = args["scase"] ~= nil

        local t1 = false -- whether traditional Chinese characters go first
        local j1 = false -- whether Cantonese Romanisations go first
        local testChar
        if (args["first"]) then
                 for testChar in mw.ustring.gmatch(args["first"], "%a+") do
          if (testChar == "t") then
           t1 = true
           end
          if (testChar == "j") then
           j1 = true
           end
         end
        end
        if (t1 == false) then
         local title = mw.title.getCurrentTitle()
         t1 = t1st[title.text] == true
        end

-- based on setting/preference specify order local orderlist = {"c", "s", "t", "p", "tp", "w", "j", "cy", "poj", "zhu", "l"} if (t1) then orderlist[2] = "t" orderlist[3] = "s" end if (j1) then orderlist[4] = "j" orderlist[5] = "cy" orderlist[6] = "p" orderlist[7] = "tp" orderlist[8] = "w" end -- rename rules. Rules to change parameters and labels based on other parameters if args["hp"] then -- hp an alias for p ([hanyu] pinyin) args["p"] = args["hp"] end if args["tp"] then -- if also Tongyu pinyin use full name for Hanyu pinyin labels["p"] = "Hanyu Pinyin" end if (args["s"] and args["s"] == args["t"]) then -- Treat simplified + traditional as Chinese if they're the same args["c"] = args["s"] args["s"] = nil args["t"] = nil elseif (not (args["s"] and args["t"])) then -- use short label if only one of simplified and traditional labels["s"] = labels["c"] labels["t"] = labels["c"] end local body = "" -- the output string local params -- for creating HTML spans local label -- the label, i.e. the bit preceeding the supplied text local val -- the supplied text -- go through all possible fields in loop, adding them to the output for i, part in ipairs(orderlist) do if (args[part]) then -- build label label = "" if (uselabels) then label = labels[part] if (capfirst) then label = mw.language.getContentLanguage():ucfirst(

According to the official website, Veoh is freeware.

Recommendations Engine

Veoh's recommendations engine is intended to enable viewers to find content that interests them. The recommendations engine was originally built by co-founder Dr. Ted Dunning, Chief Scientist for Veoh. Subsequently it was renovated by John Dimm in 2007 and finally restructured, refined, and maintained by Alexander Sherbak in 2008 through 2010 utilizing patent pending cluster identification algorithms. Veoh recommendations are based on user view history. As users watch videos, the Veoh recommendation system presents directly relevant video choices based around view histories of users with similar viewing/watch patterns.

Blocked countries

In late May 2008, Veoh discontinued service in many countries. The company stated that the decision was made in order to focus on the 34 markets in which it has the most viewers.[15]

As of May 31, 2008, upon trying to access the site from a Latvian IP address a screen is displayed: "Veoh is no longer available in Latvia & Mauritius" Without prior notice, users from these countries were denied the ability to back up the contents they have contributed to the website. As of June 2008, visitors (IP addresses) in the vast majority of countries, including Asia, portions of Europe, Africa, Central America, and South America, have reported being blocked or experiencing a similar message for their region.

Gaude Paez, a spokesperson told NewTeeVee.com "The markets we are exiting collectively represent less than 10 percent of our viewer base." She maintained that the decision was "not about saving resources but rather refocusing those resources."[16] Recently, however, the restriction has been removed from certain territories such as Puerto Rico. Indian users have reported that the Veoh restrictions were lifted for a month, yet came back in August.

As of March 30, 2009, Veoh also blocked the Czech Republic, Lebanon, Malaysia and Serbia. Egypt, Romania, Martinique and Pakistan were also blocked in June. Turkey, Thailand and UAE were blocked as of October 2009. The ban on Malaysia has since been removed. As of September 2010 site was accessible again from Serbia, but starting of December 2010 access was removed once again. Veoh is also blocked in Saudi Arabia, Bahrain, and Mongolia.

As of July 26, 2011 service has been restored to these blocked countries. However, as of April 2012, Macao users are still being blocked, with the message "Veoh is no longer available in MACAO. If you are not in MACAO or think you have received this message in error, please go to veoh.com and report the issue."

Legal issues

  • June 23, 2006: IO Group, Inc. filed a complaint against Veoh Networks, Inc. in the U.S. District Court for California's Northern District.[17] The Court has granted the Veoh's motion for summary judgment, that it was entitled to the statute's "safe harbor" provision.[18]
  • September 4, 2007: Universal Music Group Recordings, Inc. et al. filed a complaint against Veoh Networks, Inc. et al. in the California Central District Court.[19] On September 9, 2009, the court ruled in favor of Veoh, stating that Veoh was taking the necessary steps to stop copyright infringement.[20][21] Universal Music Group planned to appeal the decision.[21] On Dec 20 2011, the appeals court upheld the original dismissal.[22]
  • February 12, 2010: Veoh filed for bankruptcy under Chapter 7 on March 19, 2010.
  • April 8, 2010: Veoh assets acquired by Qlipso.[23]

See also

References


-- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p-------------------------------------------------------------------------------- -- Module:Hatnote -- -- -- -- This module produces hatnote links and links to related articles. It -- -- implements the and meta-templates and includes -- -- helper functions for other Lua hatnote modules. --


local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local mArguments -- lazily initialise Module:Arguments local yesno -- lazily initialise Module:Yesno

local p = {}


-- Helper functions


local function getArgs(frame) -- Fetches the arguments from the parent frame. Whitespace is trimmed and -- blanks are removed. mArguments = require('Module:Arguments') return mArguments.getArgs(frame, {parentOnly = true}) end

local function removeInitialColon(s) -- Removes the initial colon from a string, if present. return s:match('^:?(.*)') end

function p.findNamespaceId(link, removeColon) -- Finds the namespace id (namespace number) of a link or a pagename. This -- function will not work if the link is enclosed in double brackets. Colons -- are trimmed from the start of the link by default. To skip colon -- trimming, set the removeColon parameter to true. checkType('findNamespaceId', 1, link, 'string') checkType('findNamespaceId', 2, removeColon, 'boolean', true) if removeColon ~= false then link = removeInitialColon(link) end local namespace = link:match('^(.-):') if namespace then local nsTable = mw.site.namespaces[namespace] if nsTable then return nsTable.id end end return 0 end

function p.formatPages(...) -- Formats a list of pages using formatLink and returns it as an array. Nil -- values are not allowed. local pages = {...} local ret = {} for i, page in ipairs(pages) do ret[i] = p._formatLink(page) end return ret end

function p.formatPageTables(...) -- Takes a list of page/display tables and returns it as a list of -- formatted links. Nil values are not allowed. local pages = {...} local links = {} for i, t in ipairs(pages) do checkType('formatPageTables', i, t, 'table') local link = t[1] local display = t[2] links[i] = p._formatLink(link, display) end return links end

function p.makeWikitextError(msg, helpLink, addTrackingCategory) -- Formats an error message to be returned to wikitext. If -- addTrackingCategory is not false after being returned from -- Module:Yesno, and if we are not on a talk page, a tracking category -- is added. checkType('makeWikitextError', 1, msg, 'string') checkType('makeWikitextError', 2, helpLink, 'string', true) yesno = require('Module:Yesno') local title = mw.title.getCurrentTitle() -- Make the help link text. local helpText if helpLink then helpText = ' (help)' else helpText = end -- Make the category text. local category if not title.isTalkPage and yesno(addTrackingCategory) ~= false then category = 'Hatnote templates with errors' category = string.format( '%s:%s', mw.site.namespaces[14].name, category ) else category = end return string.format( '%s', msg, helpText, category ) end


-- Format link -- -- Makes a wikilink from the given link and display values. Links are escaped -- with colons if necessary, and links to sections are detected and displayed -- with " § " as a separator rather than the standard MediaWiki "#". Used in -- the template.


function p.formatLink(frame) local args = getArgs(frame) local link = args[1] local display = args[2] if not link then return p.makeWikitextError( 'no link specified', 'Template:Format hatnote link#Errors', args.category ) end return p._formatLink(link, display) end

function p._formatLink(link, display) -- Find whether we need to use the colon trick or not. We need to use the -- colon trick for categories and files, as otherwise category links -- categorise the page and file links display the file. checkType('_formatLink', 1, link, 'string') checkType('_formatLink', 2, display, 'string', true) link = removeInitialColon(link) local namespace = p.findNamespaceId(link, false) local colon if namespace == 6 or namespace == 14 then colon = ':' else colon = end -- Find whether a faux display value has been added with the | magic -- word. if not display then local prePipe, postPipe = link:match('^(.-)|(.*)$') link = prePipe or link display = postPipe end -- Find the display value. if not display then local page, section = link:match('^(.-)#(.*)$') if page then display = page .. ' § ' .. section end end -- Assemble the link. if display then return string.format('%s', colon, link, display) else return string.format('%s%s', colon, link) end end


-- Hatnote -- -- Produces standard hatnote text. Implements the template.


function p.hatnote(frame) local args = getArgs(frame) local s = args[1] local options = {} if not s then return p.makeWikitextError( 'no text specified', 'Template:Hatnote#Errors', args.category ) end options.extraclasses = args.extraclasses options.selfref = args.selfref return p._hatnote(s, options) end

function p._hatnote(s, options) checkType('_hatnote', 1, s, 'string') checkType('_hatnote', 2, options, 'table', true) local classes = {'hatnote'} local extraclasses = options.extraclasses local selfref = options.selfref if type(extraclasses) == 'string' then classes[#classes + 1] = extraclasses end if selfref then classes[#classes + 1] = 'selfref' end return string.format( '
%s
', table.concat(classes, ' '), s )

end

return p
  1. ^
  2. ^ http://www.businessweek.com/news/2010-04-08/israeli-start-up-qlipso-acquires-veoh-to-add-users-revenue.html
  3. ^
  4. ^
  5. ^
  6. ^
  7. ^ Veoh attracts approximately 17M visitors online monthly
  8. ^ http://www.dmitryshapiro.com/blog/?p=160
  9. ^
  10. ^
  11. ^
  12. ^ Leena Rao: Veoh Lays Off 25 Employees And Shifts Focus Away From Competing With YouTube And Hulu April 1, 2009
  13. ^ Peter Kafka: Veoh finally calls it quits: Layoffs yesterday, bankruptcy filing soon February 11, 2010
  14. ^ http://www.veoh.com/downloadFlow.html
  15. ^
  16. ^ Paez to NewTeeVee About Veoh Blocking
  17. ^ IO Group, Inc. v. Veoh Networks, Inc.
  18. ^ Court decision (PDF)
  19. ^
  20. ^
  21. ^ a b
  22. ^
  23. ^

External links

  • Archive page of former Veoh web site
  • Interview with Dmitry Shapiro, CEO of Veoh in socalTECH
  • VEOH on Ubuntu (and some others) with wine
  • Video critical of Veoh's new policy of blocking countries from accessing its videos
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.