Techniques

hey, i notice something while still studying java, there are lot of different concepts in this language, such as nested classes and etc... do we need to use such things whenever we develop applications? or it's how you satisfy the requirements of your clients no matter what strategy you use in coding?, which really counts?

The ?different concepts? are all there to serve a purpose. You may elect to use them or not ? depending on your own preferences and the individual situation. But I would make two points that err on the side of pragmatism.
Don't get hung up on the theory of OO. Don't do things only because they are more pure in an OO sense ? do things because they are more effective in a business sense.
If you are looking to serve a client, your objective will always be to deliver a robust, sustainable, and working solution on time and to budget. And the word sustainable here is important. If you write something in such a way that another coder cannot understand what you have done, then the sustainability of your solution may be questioned ? so try to acquire for yourself a set of sound and generally accepted practises.
As regards your specific point ? both Flounder and PaulCW have given you good advice I would say.
Good luck,
Steve
Edited by: Stevew1805 on Oct 10, 2007 6:17 AM

Similar Messages

  • Does anyone have any efficient techniques for saving mail on more than one machine and in the cloud (I need offline access). Trying to avoid endless message copying.

    I've been in an administrative job at my university, in which I needed to be able to access lots of past email conversations.  I ended up saving *everything* religiously, by copying each email or conversation into an "On My Mac" folder on either my home or office machine, flagging it as copied, then unflagging it and moving it to a like folder on the other machine. As a result I'v now got a trillion folders for various aspects of my job, filled with quite a few messages that I probably no longer even need, but they're way too many to go through and delete one by one.  Unfortunately, I haven't made much use of the iCloud folders, but I'm so tired of having to essentially manually sync my stored mail in the manner I just described, that I'm thinking of starting to file everything to iCloud folders.  The downside of that is that obviously if the internet is down and a given folder wasn't refreshed before it went down, I won't have access to the saved mail.
    Moreover, I'm about to step down from the admin post -- within about 6 months a lot of what I saved won't be needed at all, and going forward, I won't need to save nearly the same quantity of messages for later reference.  I'd like to come up with some viable "triage" strategies for limiting the mail I do save.  
    This is really just an open question:  Does anyone have any good mail filing and storage techniques that you'd be willing to share?  I'm especially interested in criteria you use for what you save and don't save, and where/how you save it. 

    Well, the one set up on exchange 2k3 is now working fine, although no changes were made on either the iPhone or the exchange side, so that's fun, but it still is throwing errors when connecting to the other 2 exchange accounts. The common elements are that both non-functioning exchange accounts are google apps for business accounts. So is one of the ones that's working, by the way. The settings on both accounts are the same as the one that's working, and both worked fine before the 8.3 upgrade. I have no issue accessing both of these accounts on my ipad which is currently on 8.2.x. If it's not the iphone OS at fault, I'm at a loss as to what it could be.

  • How can one print a particular page or pages from a Word Document using ActiveX or any other technique?

    I've been trying to print  a few pages from a Word document.
    Currently I am able to print the entire document using some ActiveX techniques.
    There seems to be facilities for selecting the particular pages, however so far I cannot get them to work.
    I have tried the From/To and the Pages in the PrintOut invoke node.
    And as you will see I have also tried the Range node.
    Anyone have some ideas on how to do this?
    Please see the attached vi.
    Thanks,
    Chris
    Attachments:
    ActiveX Print.vi ‏15 KB

    Please stick to your original post.
    Please have some patience.

  • Looking for app or technique to record to dvd individual chapters from a  movie dvd i own, not related to idvd or iMovie?

    looking for an app or technique to record to dvd individual chapyers from a movie dvd that i own?  not related to  idvd or imovie

    Is this a commercial copy-protected DVD or a home-made video DVD?

  • Looking for the names of these editing techniques and a place where I can learn to do them...

    Hi Everyone,
    Currently I am using adobe cs4 and I have a video which uses some transitional editing techniques which I would like to use in a short that I want to create... I would be grateful if someone could look at the sections of the clip, tell me the name of the tansitional editing techniques, and tell me where I could find a lesson teaching me how to do it please...
    1. 0:01 - 0:02 - where the transition goes from the title card to the building... specifically what type of transition is this called and how can I find a lesson for it... how is the flash achieved where building seems to luminate briefly... and how is the color of the building achieved and where can I learn how to do this....
    2. 0:06 - 0:09 - what is the name of the technique for the pictures passing over each other and where can I learn to do this...
    3. 0:10 - 0:15 What is the name of the technique for the picture gradually moving from the background to the foregraound and where can I learn this...
    4. 0:16- 0:18 What is the name for the technique for the two pictures blending with the title and where can I learn to do this...
    5  0:50 - 1:00 What is the name of the technique for getting the circlular shadowed spot light to appear on the beige background and where can I learn this
    http://www.youtube.com/watch?v=l01murqKzjo&feature=relmfu
    Thanks for your help...
    John

    I don't know, but here are some Tutorial links
    http://forums.adobe.com/thread/913334
    http://forums.adobe.com/thread/845731
    -and http://forums.adobe.com/message/3234794
    Encore http://tv.adobe.com/show/learn-encore-cs4/
    A "crash course" http://forums.adobe.com/thread/761834
    A Video Primer for Premiere http://forums.adobe.com/thread/498251
    Premiere Tutorials http://forums.adobe.com/thread/424009
    CS5 Premiere Pro Tutorials http://forums.adobe.com/message/2738611
    And http://blogs.adobe.com/premiereprotraining/2010/06/video_tutorials_didacticiels_t.html
    And http://blogs.adobe.com/premiereprotraining/2010/06/how_to_search_for_premiere_pro.html
    CS5 Tutorials http://bellunevideo.com/tutlist.php
    PPro Wiki http://premierepro.wikia.com/wiki/Adobe_Premiere_Pro_Wiki
    Tutorial http://www.tutorialized.com/tutorials/Premiere/1
    Tutorial http://www.dvxuser.com/V6/forumdisplay.php?f=21
    Tutorial HD to SD w/CS4 http://bellunevideo.com/tutorials/CS4_HD2SD/CS4_HD2SD.html
    Premiere Pro Wiki http://premierepro.wikia.com/wiki/Main_Page
    Exporting to DVD http://help.adobe.com/en_US/premierepro/cs/using/WS3E252E59-6BE5-4668-A12E-4ED0348C3FDBa.h tml
    And http://help.adobe.com/en_US/premierepro/cs/using/WSCDE15B03-1236-483f-BBD4-263E77B445B9.ht ml
    Color correction http://forums.adobe.com/thread/892861
    Photo Scaling for Video http://forums.adobe.com/thread/450798
    -Too Large = Crash http://forums.adobe.com/thread/879967
    After Effects Tutorials http://www.videocopilot.net/
    Authoring http://www.videocopilot.net/tutorials/dvd_authoring/
    Encore Tutorial http://www.precomposed.com/blog/2009/05/encore-tutorial/
    And more Encore http://library.creativecow.net/articles/devis_andrew/
    Surround Sound http://forums.adobe.com/thread/517372

  • What are the advantage of using a passive monitoring technique ?

    What are the advantage of using a passive monitoring technique

    Hi Plawansai,
    I saw your question that is still unanswered.
    I believe an advantage of using a passive monitoring technique is that it won't interfer with live traffic, as it does not inject traffic into the network or modify the traffic that is already on the network.
    One drawback anyway, is that post-processing time can take a large amount of time with passive monitoring!
    A combination of the two monitoring methods seems to be the route to go.
    V.

  • What are the different types of analytic techniques possible in SAP HANA with the examples?

    Hello Gurus,
    Please provide the information on what are the different types of Analytic techniques possible in SAP HANA with examples.
    I would want to know in category of Predictive analysis ,Advance statistical analysis ,segmentation analysis ,data reduction techniques and forecast techniques
    Which Analytic techniques are possible in SAP HANA?
    Thanks and Regards
    Sushma C Narasimhamurthy

    Hi Sushma,
    You can download the user guide here:
    http://www.google.com.au/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CFcQFjAB&url=http%3A%2F%2Fhelp.sap.com%2Fbusinessobject%2Fproduct_guides%2FSBOpa10%2Fen%2Fpa_user_en.pdf&ei=NMgHUOOtIcSziQfqupyeBA&usg=AFQjCNG10eovyZvNOJneT-l6J7fk0KMQ1Q&sig2=l56CSxtyr_heE1WlhfTdZQ
    It has a list of the algorithms, which are pretty disappointing, I must say. No Random Forests? No ensembling methods? Given that it's using R algorithms, I must say this is a missed opportunity to beat products like SPSS and SAS at their own game. If SAP were to include this functionality, they would be the only BI vendor capable of having a serious predictive tool integrated with the rest of the platform.... but this looks pretty weak.
    I can only hope a later release will remedy this - or maybe the SDK will allow me to create what I need.
    As things stand, I could built a random forest using this tool, but I would have to use a lot of hardcoded SQL to make it happen. And if I wanted to go down that road, I could use the algorithms that come with the Microsoft/Oracle software.
    Please let me be wrong........

  • What are the different tools and techniques available to track analytics in SharePoint online 2013?

    I want to know What are the different tools and techniques available to track analytics in SharePoint online 2013. Please provide your suggestions/ inputs. Thanks in advance.

    you can Use the Web Analytics Integration app  to
    connect your SharePoint Online public website to third-party web analytics services, such as Webtrends, Google Analytics, Adobe, and so on.
    Google Analytics
    Webtrends for SharePoint
    CARDIOLOG ANALYTICS
    Please remember to mark your question as answered &Vote helpful,if this solves/helps your problem. ****************************************************************************************** Thanks -WS MCITP(SharePoint 2010, 2013) Blog: http://wscheema.com/blog

  • What are the permitted compression techniques for PDF/A-1?

    The PDF/A-1 standard does not specify how compression is performed. What are the permitted compression techniques for PDF/A-1?
    The information I have gathered (not sure if all are true)
    LZW should not be used
    JPEG2000 may not be used
    Few say, JPEG can be used but its a lossy compression. (PDF standard clearly states lossy compression can't be used)
    Also, how to figure out whether a particular file is PDF/A-1a or PDF/A-1b and what kind of compressions are used in that file?
    Thanks in advance.

    For better or worse, ISO specifications are written in a language from a parallel universe.    After dealing with ISO standards for a while, you learn what specific words really mean. I should know - I am chair of the ISO PDF/X task force and co-chair of the PDF/VT task force.
    The word should does not specify a requirement. PDF/A does not prohibit lossy compression.
    JPEG is always a lossy compression. There is a mode of JPEG2000 compression that is indeed lossless. Note that JPEG and JPEG2000 are totally different compression schemes. (I believe that PDF/A-1 as well as PDF/X-1a and PDF/X-3, based on older versions of the PDF specification do not permit JPEG2000. PDF/A-2 based on ISO32000-1 and PDF/X-4 based on PDF 1.6 do allow for JPEG2000.)
    ZIP compression is lossless.
              - Dov

  • Comparison of Data Loading techniques - Sql Loader & External Tables

    Below are 2 techniques using which the data can be loaded from Flat files to oracle tables.
    1)     SQL Loader:
    a.     Place the flat file( .txt or .csv) on the desired Location.
    b.     Create a control file
    Load Data
    Infile "Mytextfile.txt" (-- file containing table data , specify paths correctly, it could be .csv as well)
    Append or Truncate (-- based on requirement) into oracle tablename
    Separated by "," (or the delimiter we use in input file) optionally enclosed by
    (Field1, field2, field3 etc)
    c.     Now run sqlldr utility of oracle on sql command prompt as
    sqlldr username/password .CTL filename
    d.     The data can be verified by selecting the data from the table.
    Select * from oracle_table;
    2)     External Table:
    a.     Place the flat file (.txt or .csv) on the desired location.
    abc.csv
    1,one,first
    2,two,second
    3,three,third
    4,four,fourth
    b.     Create a directory
    create or replace directory ext_dir as '/home/rene/ext_dir'; -- path where the source file is kept
    c.     After granting appropriate permissions to the user, we can create external table like below.
    create table ext_table_csv (
    i Number,
    n Varchar2(20),
    m Varchar2(20)
    organization external (
    type oracle_loader
    default directory ext_dir
    access parameters (
    records delimited by newline
    fields terminated by ','
    missing field values are null
    location ('file.csv')
    reject limit unlimited;
    d.     Verify data by selecting it from the external table now
    select * from ext_table_csv;
    External tables feature is a complement to existing SQL*Loader functionality.
    It allows you to –
    •     Access data in external sources as if it were in a table in the database.
    •     Merge a flat file with an existing table in one statement.
    •     Sort a flat file on the way into a table you want compressed nicely
    •     Do a parallel direct path load -- without splitting up the input file, writing
    Shortcomings:
    •     External tables are read-only.
    •     No data manipulation language (DML) operations or index creation is allowed on an external table.
    Using Sql Loader You can –
    •     Load the data from a stored procedure or trigger (insert is not sqlldr)
    •     Do multi-table inserts
    •     Flow the data through a pipelined plsql function for cleansing/transformation
    Comparison for data loading
    To make the loading operation faster, the degree of parallelism can be set to any number, e.g 4
    So, when you created the external table, the database will divide the file to be read by four processes running in parallel. This parallelism happens automatically, with no additional effort on your part, and is really quite convenient. To parallelize this load using SQL*Loader, you would have had to manually divide your input file into multiple smaller files.
    Conclusion:
    SQL*Loader may be the better choice in data loading situations that require additional indexing of the staging table. However, we can always copy the data from external tables to Oracle Tables using DB links.

    Please let me know your views on this.

  • Can I mimic a 'slide show' of stills and videos with this technique

    I want to be able to mimic an old fashioned slide show on a Blu-ray disk, except that each 'slide' – I'll call them items – could be a true still, or a still with pan/zoom, or even a short video. Whatever a particular item is, I want to click a button and the show advances to the next item. If the next item is a video, the video pauses on the last frame when it is finished.
    Just like the old magazine full of slides, imagine a folder full of items – some may be stills, some videos. After importing into Encore, setting up the navigation and menus, and then burning to Blu-ray, I want to be able to play them in sequence at the press of the Enter button.
    I'm pretty much a novice with Encore, and to save spending more time reading the manual, I thought I'd ask if I can mimic a slide show in Encore with the technique described below. I got the idea from page 152 of the PDF manual:
    The buttons on a menu are the primary navigation tool for the viewer. They control how the viewer steps through the project. Each button in a menu must lead to another menu, a timeline, a chapter, a playlist, a chapter playlist, or a slide show.
    My limited experience with Encore is to set up a series of videos on a single timeline, and generate one menu with a "Start" button on it. When the Blu-ray starts up, the Start screen appears and stays there until I press Enter. Works well.
    A slide show of stills using buttons only
    So I thought: to generate my old-fashioned slide show (ignore videos for the moment), I would use the buttons themselves as the stills, taking my queue from the quote above: "Each button in a menu must lead to another menu…". My slide show would consist of jumping from one menu to the next. This leads to my first question:
    Q1: Is it possible for a menu to have a full-screen button, call it the Image Button, that is actually the still image that is desired to be shown? So the viewer sees the Image Button, thinks it's the image (which it is), but it is actually a button. When the viewer presses Enter, the button activates and goes to the next menu which also happens to be the next full-screen image. The viewer is jumping from Image Button to Image Button, with the buttons filling the screen and being the actual images.
    A slide show including videos
    To include a video in the slide show, the destination when Enter is pressed would be a timeline with the appropriate video. At the end of this video, the navigation would lead to a menu which has an Image Button of the last frame of the video. The effect is that the video is paused on the last frame, waiting for the user to hit Enter to advance to the next item (still or video).
    If there is an easier way to mimic a slide show of stills and videos, please let me know.

    Stan – I posted 3 years ago in the Keynote Forums (I'm on Mac) about this sort of thing, knowing that eventually I would want to do it. The answer came back then that Keynote might have problems. So I've recently posted again about Keynote, but no responses as yet.
    I expected problems with Encore and welcome some of them. Overcoming problems is the best way to become intimately involved with software.
    I'm glad you asked why I don't just use Powerpoint (or Keynote in my case). Now's my chance to clarify my thoughts:
    Macs do not upscale very well. Sometimes I may want to show part of a DVD. I've tested playing a DVD on my iMac versus on a Oppo BDP93, fed to a BenQ W7000 projector throwing a 3 metre image. There is an obvious difference in image quality because the Oppo, being hardware based, can interpolate in real time as it scales from 576p (PAL) to 1080P. DVD Player on my iMac simply magnifies the image, resulting in obvious pixellation.
    Dissolves and complex effects in Premier challenge any software based h.264 player. I don't like to see decoding artifacts, for example, during a dissolve while a part of the image is also reducing in size, spinning, and disappearing into the distance. An extreme example, but an effect I used once. From my reading of blu-ray player reviews – and from my limited testing – all blu-ray players can easily handle the highest bit rates from a blu-ray disk.
    I don't have a laptop so I'd have to buy one. I'd rather spend the money on a dedicated player if that route turns out to be suitable.
    I don't trust computers for a presentation. Too unreliable. When I was showing multiscreen audio visuals in the 1980s (4-6 projectors), I always had a backup Tascam 4-track with me, back up soundtrack on tape, back up amp, and a backup slide projector. Even had a backup amp in the car. Speakers, well, if one failed I had two there anyway. With digital, to feel comfortable, I'd have to buy a second laptop. A good quality, backup Blu-ray player can be had for $100. And yes, I do have a backup W7000. I don't trust digital projectors either.
    Running a presentation from a laptop always looks amateurish to me. Someone hunched over a tiny screen, fooling around with Windows or OSX. And usually it's all mirrored on the big screen for everyone to see. I'm never impressed. I want to replicate a cinema experience as closely as possible. Darkness, the audience hushed, and up comes the first image.
    Any suggestions about automatically linking a whole heap of menus?

  • What's the best technique for making this page work?

    Here's a link to a jpg showing a design for a portfolio site that I'm building:
    http://i287.photobucket.com/albums/ll130/Mickmastergeneral/test_modeling_texturing.jpg
    The image of the ATV will be a Qucktime file; the visitor will be able to scrub the slider to see a pre-rendered rotation of the model. The visitor will then be able to view a different model by clicking on one of the thumbnails at the bottom of the page. So far so good.
    But the visitor will also need the ability to display the model's texture map in a new window (by clicking on one of the the texture map icons on the right), as well as choose wireframe or shaded mode (by clicking on the appropriate text button; this would load a quicktime movie of either a wireframe or textured model turnaround).
    So, the trick is getting all the appropriate stuff to load when the user clicks on a lower screen thumnail: The Quicktime movie, the appropriate texture map icons for that model (which in turn need to link to pages containing the correct image), and "Shaded" & "Wireframe" text buttons (that link to the appropriate Quicktime movie.)
    I haven't done any web design in years, so I'm using an ancient version of DW (Dreamweaver Ultradev 4), and I'm definitely not up on the latest techniques. I know how to work with frames, but I've heard that it's a good idea to stay away from them. Would layers work for this? I've worked with Behaviours and I know how to do image swaps and hide/show layers, but I don't know how (or if) I can use that trick to make the appropriate texture and wireframe/shaded links appear. Any ideas how I should proceed?

    So, do you think it would make sense for me to just bite the bullet and learn Flash?
    No - I don't think Flash is a good tool for a general purpose website other than for special cosmetic effects.  But I do think it is the thing to use if you want those, and not QT.
    - I already have a ton of those model animations rendered out as h.264 Quicktime files. They look pretty good and are a reasonable file size. If I bring them into a Flash file, does that convert them into Flash? Will that affect image quality or inflate their file size?
    They should convert quite acceptably.

  • How to use parsing technique to access a particular value from a webpage

    hi,
    i'm in need of a coding to access a particular value from a webpage only by using its link. one of my friend said the we can do this by parsing technique. but i doesn't have knowledge about it. can any one help me?

    ksnagendran26 wrote:
    hi,
    i'm in need of a coding to access a particular value from a webpage only by using its link. one of my friend said the we can do this by parsing technique. but i doesn't have knowledge about it. can any one help me?I'm sorry could you explain in detail what do you mean by +"access a particular value from a webpage only by using its link"+?

  • Encoding Technique converting in XSLT Mapping.

    Hi,
    I have a scenarion File->XI->File. the incoming file has the encoding technique UTF-8. i have to convert it to ISO-8859-1. i'm using an XSLT mapping to do that after which my java mapping gets executed. when i tested this mapping with the source file in the Design, it works fine, but when i execute the whole scenario end to end,it is throwing some exception with Unsupported Charecter. the code of the XSLT looks as given under:
    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
         <xsl:output encoding="ISO-8859-1"/>
         <xsl:template match="/">
              <xsl:copy-of select="*"/>
         </xsl:template>
    </xsl:stylesheet>
    Can any one tell me how to resolve this.
    Any help wud b gr8ly appreciated.
    Thnx in Advance
    Anil

    HI Anil,
    Check these links, it might help you.
    Ampersand ('&')  dumps XI Mapping. JDBC to BIW
    /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    /people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
    /people/prasadbabu.nemalikanti3/blog/2006/03/30/xpath-functions-in-xslt-mapping
    Best regards
    Mahesh.M

  • When importing photos with iBooks Gallery widget, is anyone aware of a technique for simultaneously importing the photo's description (or jpeg file name) and writing it into the iBook Author caption field for the imported photo?

    When importing photos with the iBooks Author Gallery widget, is anyone aware of a technique for simultaneously importing the photo's description (or jpeg file name) and writing it into the iBook Author caption field for the corresponding imported photo? I have 4,800 stills to import and can't imagine it's necessary to copy and paste the description for each.

    As always, feel free to use the 'Provide iBooks Author Feedback' menu item for features you'd like added in the future, etc.
    http://www.apple.com/feedback/ibooks-author.html
    As for AS, I'm not sure anyone has sniffed iBA's dictionary yet...google is you friend for hot prospects, I'm sure

  • Criticism of new data "optimization" techniques

    On February 3, Verizon announced two new network practices in an attempt to reduce bandwidth usage:
    Throttling data speeds for the top 5% of new users, and
    Employing "optimization" techniques on certain file types for all users, in certain parts of the 3G network.
    These were two separate changes, and this post only talks about (2), the "optimization" techniques.
    I would like to criticize the optimization techniques as being harmful to Internet users and contrary to long-standing principles of how the Internet operates. This optimization can lead to web sites appearing to contain incorrect data, web sites appearing to be out-of-date, and depending on how optimization is implemented, privacy and security issues. I'll explain below.
    I hope Verizon will consider reversing this decision, or if not, making some changes to reduce the scope and breadth of the optimization.
    First, I'd like to thank Verizon for posting an in-depth technical description of how optimization works, available here:
    http://support.vzw.com/terms/network_optimization.html
    This transparency helps increase confidence that Verizon is trying to make the best decisions for their users. However, I believe they have erred in those decisions.
    Optimization Contrary to Internet Operating Principles
    The Internet has long been built around the idea that two distant servers exchange data with each other by transmitting "packets" using the IP protocol. The headers of these packets contain the information required such that all the Internet routers located between these servers can deliver the packets. One of the Internet's operating principles is that when two servers set up an IP connection, the routers connecting them do not modify the data. They may route the data differently, modify the headers in some cases (like network address translation), or possibly, in some cases, even block the data--but not modify it.
    What these new optimization techniques do is intercept a device's connection to a distant server, inspect the data, determine that the device is downloading a file, and in some cases, to attempt to reduce bandwidth used, modify the packets so that when the file is received by the device, it is a file containing different (smaller) contents than what the web server sent.
    I believe that modifying the contents of the file in this matter should be off-limits to any Internet service provider, regardless of whether they are trying to save bandwidth or achieve other goals. An Internet service provider should be a common carrier, billing for service and bandwidth used but not interfering in any way with the content served by a web server, the size or content of the files transferred, or the choices of how much data their customers are willing to use and pay for by way of the sites they choose to visit.
    Old or Incorrect Data
    Verizon's description of the optimization techniques explains that many common file types, including web pages, text files, images, and video files will be cached. This means that when a device visits a web page, it may be loading the cached copy from Verizon. This means that the user may be viewing a copy of the web site that is older than what the web site is currently serving. Additionally, if some files in the cache for a single web site were added at different times, such as CSS files or images relative to some of the web pages containing them, this may even cause web pages to render incorrectly.
    It is true that many users already experience caching because many devices and nearly all computer browsers have a personal cache. However, the user is in control of the browser cache. The user can click "reload" in the browser to bypass it, clear the cache at any time, or change the caching options. There is no indication with Verizon's optimization that the user will have any control over caching, or even knowledge as to whether a particular web page is cached.
    Potential Security and Privacy Violations
    The nature of the security or privacy violations that might occur depends on how carefully Verizon has implemented optimization. But as an example of the risk, look at what happened with Google Web Accelerator. Google Web Accelerator was a now-discontinued product that users installed as add-ons to their browsers which used centralized caches stored on Google's servers to speed up web requests. However, some users found that on web sites where they logged on, they were served personalized pages that actually belonged to different users, containing their private data. This is because Google's caching technology was initially unable to distinguish between public and private pages, and different people received pages that were cached by other users. This can be fixed or prevented with very careful engineering, but caching adds a big level of risk that these type of privacy problems will occur.
    However, Verizon's explanation of how video caching works suggests that these problems with mixed-up files will indeed occur. Verizon says that their caching technology works by examining "the first few frames (8 KB) of the video". This means that if multiple videos are identical at the start, that the cache will treat them the same, even if they differ later on in the file.
    Although it may not happen very frequently, this could mean that if two videos are encoded in the same manner except for the fact that they have edits later in the file, that some users may be viewing a completely different version of the video than what the web server transmitted. This could be true even if the differing videos are stored at completely separate servers, as Verizon's explanation states that the cataloguing process caches videos the same based on the 8KB analysis even if they are from different URLs.
    Questions about Tethering and Different Devices
    Verizon's explanation says near the beginning that "The form and extent of optimization [...] does not depend on [...] the user's device". However, elsewhere in the document, the explanation states that transcoding may be done differently depending on the capabilities of the user's device. Perhaps a clarification in this document is needed.
    The reason this is an important issue is that many people may wish to know if optimization happens when tethering on a laptop. I think some people would view optimization very differently depending on whether it is done on a phone, or on a laptop. For example, many people, for, say, business reasons, may have a strong requirement that a file they downloaded from a server is really the exact file they think they downloaded, and not one that has been optimized by Verizon.
    What I would Like Verizon To Do
    With respect to Verizon's need to limit bandwidth usage or provide incentives for users to limit their bandwidth usage, I hope Verizon reverses the decision to deploy optimization and chooses alternate, less intrusive means to achieve their bandwidth goals.
    However, if Verizon still decides to proceed with optimization, I hope they will consider:
    Allowing individual customers to disable optimization completely. (Some users may choose to keep it enabled, for faster Internet browsing on their devices, so this is a compromise that will achieve some bandwidth savings.)
    Only optimizing or caching video files, instead of more frequent file types such as web pages, text files, and image files.
    Disabling optimization when tethering or using a Wi-Fi personal hotspot.
    Finally, I hope Verizon publishes more information about any changes they may make to optimization to address these and other concerns, and commits to customers and potential customers about their future plans, because many customers are in 1- or 2-year contracts, or considering entering such contracts, and do not wish to be impacted by sudden changes that negatively impact them.
    Verizon, if you are reading, thank you for considering these concerns.

    A very well written and thought out article. And, you're absolutely right - this "optimization" is exactly the reason Verizon is fighting the new net neutrality rules. Of course, Verizon itself (and it's most ardent supporters on the forums) will fail to see the irony of requiring users to obtain an "unlimited" data plan, then complaining about data usage and trying to limit it artificially. It's like a hotel renting you a room for a week, then complaining you stayed 7 days.
    Of course, it was all part of the plan to begin with - people weren't buying the data plans (because they were such a poor value), so the decision was made to start requiring them. To make it more palatable, they called the plans "unlimited" (even though at one point unlimited meant limited to 5GB, but this was later dropped). Then, once the idea of mandatory data settles in, implement data caps with overages, which is what they were shooting for all along. ATT has already leapt, Verizon has said they will, too.

Maybe you are looking for